Hur man tar bort citat från strängar i Python

Beskrivning

Det finns flera sätt att ta bort citattecken från en sträng i Python. Du kan behöva ta bort alla citattecken eller bara de som omger en sträng. Du kan också behöva ta bort enkla eller dubbla citattecken.

I den här korta artikeln har vi sammanställt en omfattande lista över metoder du kan använda för att ta bort citat från en sträng i Python. Det är helt upp till dig vilken du ska använda. Observera att lösningarna vi har listat här inte är sorterade från bäst till sämst. Varje lösning är bra så länge den uppfyller dina behov i ett specifikt fall.

Hur man tar bort alla citat från en sträng i Python

Först och främst, låt oss ta en titt på hur man tar bort alla citat från en sträng. Lösningar som listas i det här avsnittet kan ändras så att de fungerar med både enkla och dubbla citattecken. Men för syftet med denna artikel, låt oss säga att vi har en exempelsträng som har tre dubbla citattecken:

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

I det här avsnittet tar vi en titt på flera sätt att ta bort alla " från example_str.

str.replace()

Det första tillvägagångssättet vi kommer att diskutera är att använda str.replace() metoden på example_str. Den accepterar två argument – ​​strängen vi vill ersätta och ersättningssträngen. I det här fallet kommer vi att ersätta ett dubbelt citattecken (") med en tom sträng:

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

Smakämnen str.replace() används på detta sätt kommer att ta bort alla dubbla citattecken från example_str.

Vanliga uttryck

Detta tillvägagångssätt använder vanliga uttryck för att ta bort alla citattecken från en sträng. Innan vi börjar använda reguljära uttryck i Python måste vi först importera re modul:

import re

Efter det kan vi använda re.sub() metod för att ersättning alla förekomster av citattecken med den tomma strängen:

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

Detta kommer att ge oss example_str utan citat i det.

str.join()

Smakämnen str.join() är en annan metod vi kan använda för att ta bort alla citattecken från en sträng i Python. Denna lösning har lite mer komplex syntax än andra lösningar om du inte redan är bekant med join() metod. Vi ska i huvudsak gå igenom example_str tecken för tecken och lägg till varje som inte är ett citattecken till den tomma strängen. På så sätt får vi det example_str utan citattecken:

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

Hur man tar bort citat som omger en sträng

Hittills har vi diskuterat flera metoder för att ta bort alla citattecken från en sträng i Python. Det är bara ett sätt att se på att ta bort citat från en sträng. Förmodligen är det vanligaste problemet hur man tar bort endast citattecken som omger en sträng. Smakämnen str.strip() Metoden är avsedd att göra just det. Därför kommer vi att diskutera str.strip() metod i detta avsnitt.

Säg att vi har exakt samma example_str som i föregående avsnitt, och vi vill ta bort endast de första och sista citattecken:

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

Använda str.strip() med ett dubbelt citattecken som argument kommer att ta bort inledande och avslutande citattecken från example_str:

Kolla in vår praktiska, praktiska guide för att lära dig Git, med bästa praxis, branschaccepterade standarder och medföljande fuskblad. Sluta googla Git-kommandon och faktiskt lära Det!

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

Notera: Oavsett hur många ledande och/eller ledande citattecken som finns i strängen, str.strip() kommer att ta bort alla.

Förutom det vanliga str.strip() metod, det finns också två av dess derivat – str.lstrip() och str.rstrip(). Den första tar bort alla ledande citat, och den andra tar bort alla efterföljande citat:

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

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

Slutsats

I den här korta artikeln har vi tagit en omfattande titt på hur man tar bort citat från en sträng i Python. Först och främst har vi förklarat hur man tar bort alla citattecken från en sträng med flera olika metoder – str.replace(), str.join()och re.sub(). Efteråt har vi tagit en titt på str.strip() metod, såväl som dess derivat str.lstrip() och str.rstrip().

Tidsstämpel:

Mer från Stackabuse