Kuidas eemaldada Pythonis stringidest tsitaate

Sissejuhatus

Pythonis saate stringist tsitaate eemaldada mitmel viisil. Võimalik, et peate eemaldama kõik või ainult stringi ümbritsevad jutumärgid. Võimalik, et peate eemaldama ka ühe- või topeltjutumärgid.

Selles lühikeses artiklis oleme koostanud põhjaliku loendi meetoditest, mida saate Pythonis stringist jutumärkide eemaldamiseks kasutada. See on täiesti teie enda otsustada, millist neist kasutada. Pange tähele, et siin loetletud lahendused ei ole järjestatud parimast halvimani. Iga lahendus on hea seni, kuni see vastab konkreetsel juhul teie vajadustele.

Kuidas eemaldada Pythonis stringist kõik tsitaadid

Kõigepealt vaatame, kuidas stringist kõik jutumärgid eemaldada. Selles jaotises loetletud lahendusi saab muuta nii, et need töötaksid nii ühe- kui ka kahekordsete jutumärkidega. Kuid selle artikli jaoks oletame, et meil on näidisstring, milles on kolm topeltjutumärki:

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

Selles jaotises vaatleme mitmeid viise, kuidas kõik eemaldada " alates example_str.

str.replace()

Esimene lähenemisviis, mida arutame, on kasutada str.replace() meetod example_str. See aktsepteerib kahte argumenti – stringi, mida tahame asendada, ja asendusstringi. Sel juhul asendame jutumärgi (") tühja stringiga:

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

. str.replace() sel viisil kasutades eemaldatakse kõik topeltjutumärgid example_str.

Regulaaravaldised

See lähenemisviis kasutab regulaarsed väljendid kõigi jutumärkide eemaldamiseks stringist. Enne kui hakkame Pythonis regulaaravaldisi kasutama, peame esmalt importima re moodul:

import re

Pärast seda saame kasutada re.sub() meetod asenda kõik tühja stringiga jutumärgi esinemised:

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

See annab meile example_str ilma tsitaatideta.

str.join()

. str.join() on veel üks meetod, mida saame kasutada Pythonis stringist kõigi jutumärkide eemaldamiseks. Sellel lahendusel on pisut keerulisem süntaks kui teistel lahendustel, kui te pole sellega veel tuttav join() meetod. Me läheme sisuliselt üle example_str tähemärgi haaval ja lisage tühjale stringile igaüks, mis ei ole jutumärk. Nii saame kätte example_str ilma tsitaatideta:

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

Kuidas eemaldada stringi ümbritsevaid tsitaate

Siiani oleme arutanud mitmeid eemaldamisviise kõik jutumärgid stringist Pythonis. See on ainult üks võimalus stringist jutumärkide eemaldamiseks. Väidetavalt on levinum probleem, kuidas eemaldada ainult stringi ümbritsevad tsitaadid. . str.strip() meetod on mõeldud just seda tegema. Seetõttu arutame str.strip() meetodit selles jaotises.

Ütleme, et meil on täpselt sama example_str nagu eelmises jaotises, ja me tahame eemaldada ainult esimese ja viimase jutumärgi:

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

kasutades str.strip() topeltjutumärgiga, kuna selle argument eemaldab esi- ja lõppjutumärgid example_str:

Tutvuge meie praktilise ja praktilise Giti õppimise juhendiga, mis sisaldab parimaid tavasid, tööstusharus aktsepteeritud standardeid ja kaasas olevat petulehte. Lõpetage Giti käskude guugeldamine ja tegelikult õppima seda!

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

Märge: Olenemata sellest, kui palju juhtivaid ja/või juhtivaid jutumärke stringis on, on str.strip() eemaldab need kõik.

Peale tavalise str.strip() meetodil on ka kaks selle tuletist – str.lstrip() ja str.rstrip(). Esimene eemaldab kõik juhtivad tsitaadidja teine ​​eemaldab kõik tsitaadid:

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

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

Järeldus

Selles lühikeses artiklis vaatasime põhjalikult, kuidas Pythonis stringist tsitaate eemaldada. Esiteks oleme selgitanud, kuidas eemaldada stringist kõik jutumärgid mitme erineva meetodi abil – str.replace(), str.join()ja re.sub(). Hiljem vaatasime üle str.strip() meetod, aga ka selle tuletised str.lstrip() ja str.rstrip().

Ajatempel:

Veel alates Stackabus