Kako odstraniti narekovaje iz nizov v Pythonu

Predstavitev

Obstaja več načinov, kako lahko odstranite narekovaje iz niza v Pythonu. Morda boste morali odstraniti vse narekovaje ali samo tiste, ki obkrožajo niz. Morda boste morali tudi odstraniti enojne ali dvojne narekovaje.

V tem kratkem članku smo sestavili obsežen seznam metod, s katerimi lahko odstranite narekovaje iz niza v Pythonu. Povsem od vas je odvisno, katerega boste uporabili. Upoštevajte, da rešitve, ki smo jih navedli tukaj, niso razvrščene od najboljše do najslabše. Vsaka rešitev je dobra, če ustreza vašim potrebam v konkretnem primeru.

Kako odstraniti vse narekovaje iz niza v Pythonu

Najprej si poglejmo, kako odstraniti vse narekovaje iz niza. Rešitve, navedene v tem razdelku, je mogoče spremeniti tako, da delujejo z enojnimi in dvojnimi narekovaji. Toda za namene tega članka recimo, da imamo primer niza, ki ima v sebi tri dvojne narekovaje:

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

V tem razdelku si bomo ogledali več načinov, kako odstraniti vse " Iz example_str.

str.replace()

Prvi pristop, o katerem bomo razpravljali, je uporaba str.replace() metoda na example_str. Sprejema dva argumenta – niz, ki ga želimo zamenjati, in nadomestni niz. V tem primeru bomo zamenjali dvojni narekovaj (") s praznim nizom:

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

O str.replace() uporabljen na ta način bo odstranil vse dvojne narekovaje iz example_str.

Redni izrazi

Ta pristop uporablja pravilni izrazi za odstranitev vseh narekovajev iz niza. Preden začnemo uporabljati regularne izraze v Pythonu, moramo najprej uvoziti re modul:

import re

Po tem lahko uporabimo re.sub() metoda za nadomestek vse pojavitve narekovaja s praznim nizom:

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

To nam bo dalo example_str brez narekovajev v njem.

str.join()

O str.join() je še ena metoda, ki jo lahko uporabimo za odstranitev vseh narekovajev iz niza v Pythonu. Ta rešitev ima nekoliko bolj zapleteno sintakso kot druge rešitve, če še niste seznanjeni z join() metoda. V bistvu bomo šli čez example_str znak za znakom in vsakemu, ki ni narekovaj, dodajte prazen niz. Tako bomo dobili example_str brez narekovajev:

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

Kako odstraniti narekovaje okoli niza

Doslej smo razpravljali o več pristopih, kako odstraniti vse narekovaje iz niza v Pythonu. To je samo eden od načinov za pogled na odstranjevanje narekovajev iz niza. Verjetno je pogostejša težava, kako odstraniti samo narekovaji, ki obkrožajo niz. O str.strip() metoda je namenjena prav temu. Zato bomo razpravljali o str.strip() metodo v tem razdelku.

Recimo, da imamo popolnoma enako example_str kot v prejšnjem razdelku in želimo odstraniti samo prvi in ​​zadnji narekovaj:

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

Uporaba str.strip() z dvojnim narekovajem kot argumentom bo odstranil začetne in končne narekovaje iz example_str:

Oglejte si naš praktični, praktični vodnik za učenje Gita z najboljšimi praksami, standardi, sprejetimi v panogi, in priloženo goljufijo. Nehajte Googlati ukaze Git in pravzaprav naučiti it!

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

Opomba: Ne glede na to, koliko začetnih in/ali začetnih narekovajev je v nizu, je str.strip() bo odstranil vse.

Poleg običajnega str.strip() metoda, obstajata tudi dve njeni izpeljanki – str.lstrip() in str.rstrip(). Prvi odstrani vsi vodilni citati, drugi pa odstrani vsi zaključni narekovaji:

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

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

zaključek

V tem kratkem članku smo izčrpno pogledali, kako odstraniti narekovaje iz niza v Pythonu. Najprej smo razložili, kako z več različnimi metodami odstraniti vse narekovaje iz niza – str.replace(), str.join()in re.sub(). Nato smo si ogledali str.strip() metoda, pa tudi njene izpeljanke str.lstrip() in str.rstrip().

Časovni žig:

Več od Stackabuse