Hvordan fjerne sitater fra strenger i Python

Introduksjon

Det er flere måter du kan fjerne sitater fra en streng i Python. Du må kanskje fjerne alle anførselstegn eller bare de som omgir en streng. Du må kanskje også fjerne enkle eller doble anførselstegn.

I denne korte artikkelen har vi samlet en omfattende liste over metoder du kan bruke for å fjerne sitater fra en streng i Python. Det er helt opp til deg hvilken du vil bruke. Vær oppmerksom på at løsningene vi har listet opp her ikke er sortert fra best til dårligst. Hver løsning er god så lenge den oppfyller dine behov i en spesifikk sak.

Hvordan fjerne alle sitater fra en streng i Python

Først av alt, la oss ta en titt på hvordan du fjerner alle sitater fra en streng. Løsninger oppført i denne delen kan endres til å fungere med både enkle og doble anførselstegn. Men for formålet med denne artikkelen, la oss si at vi har en eksempelstreng som har tre doble anførselstegn:

example_str = '"This is a string" with quotes"'

I denne delen skal vi se på flere måter å fjerne alle på " fra example_str.

str.replace()

Den første tilnærmingen vi vil diskutere er å bruke str.replace() metoden på example_str. Den godtar to argumenter - strengen vi ønsker å erstatte og erstatningsstrengen. I dette tilfellet erstatter vi et dobbelt anførselstegn (") med en tom streng:

new_str = example_str.replace('"', '')
print(new_str) 

De str.replace() brukt på denne måten vil fjerne alle doble anførselstegn fra example_str.

Vanlig uttrykk

Denne tilnærmingen bruker vanlig uttrykk for å fjerne alle sitater fra en streng. Før vi begynner å bruke regulære uttrykk i Python, må vi først importere re modul:

import re

Etter det kan vi bruke re.sub() metode til erstatning alle forekomster av anførselstegn med den tomme strengen:

new_str = re.sub('"', '', example_str)
print(new_str) 

Dette vil gi oss example_str uten anførselstegn.

str.join()

De str.join() er en annen metode vi kan bruke for å fjerne alle sitater fra en streng i Python. Denne løsningen har litt mer kompleks syntaks enn andre løsninger hvis du ikke allerede er kjent med join() metode. Vi skal i hovedsak gå over example_str tegn-for-tegn og legg til hver som ikke er et anførselstegn til den tomme strengen. På den måten får vi det example_str uten anførselstegn:

new_str = ''.join(c for c in example_str if c not in '"')
print(new_str) 

Hvordan fjerne sitater rundt en streng

Så langt har vi diskutert flere tilnærminger til hvordan du fjerner alle anførselstegn fra en streng i Python. Det er bare én måte å se på fjerning av sitater fra en streng. Uten tvil er det mer vanlige problemet hvordan du fjerner bare anførselstegn rundt en streng. De str.strip() metoden er ment å gjøre nettopp det. Derfor vil vi diskutere str.strip() metoden i denne delen.

Si at vi har nøyaktig det samme example_str som i forrige avsnitt, og vi ønsker å fjerne bare de første og siste anførselstegnene:

example_str = '"This is a string" with quotes"'

Bruke str.strip() med et dobbelt anførselstegn som argument vil fjerne innledende og etterfølgende anførselstegn fra example_str:

Sjekk ut vår praktiske, praktiske guide for å lære Git, med beste praksis, bransjeaksepterte standarder og inkludert jukseark. Slutt å google Git-kommandoer og faktisk lære den!

new_str = example_str.strip('"')
print(new_str) 

OBS: Uansett hvor mange ledende og/eller ledende anførselstegn i strengen, str.strip() vil fjerne alle.

Foruten det vanlige str.strip() metode, er det også to av dens derivater – str.lstrip() og str.rstrip(). Den første fjerner alle ledende sitater, og den andre fjerner alle etterfølgende sitater:

new_str = example_str.lstrip('"')
print(new_str) 

new_str = example_str.rstrip('"')
print(new_str) 

konklusjonen

I denne korte artikkelen har vi tatt en omfattende titt på hvordan du fjerner sitater fra en streng i Python. Først av alt har vi forklart hvordan du fjerner alle sitater fra en streng ved å bruke flere forskjellige metoder – str.replace(), str.join()og re.sub(). Etterpå har vi tatt en titt på str.strip() metoden, så vel som dens derivater str.lstrip() og str.rstrip().

Tidstempel:

Mer fra Stackabuse