Jak usunąć cytaty z ciągów w Pythonie?

Wprowadzenie

Istnieje kilka sposobów usuwania cudzysłowów z ciągu znaków w Pythonie. Może być konieczne usunięcie wszystkich cudzysłowów lub tylko tych otaczających ciąg. Może być również konieczne usunięcie pojedynczych lub podwójnych cudzysłowów.

W tym krótkim artykule przygotowaliśmy obszerną listę metod, których możesz użyć do usunięcia cudzysłowów z ciągu znaków w Pythonie. To całkowicie zależy od Ciebie, którego użyjesz. Należy pamiętać, że rozwiązania, które tutaj wymieniliśmy, nie są uporządkowane od najlepszych do najgorszych. Każde rozwiązanie jest dobre, o ile odpowiada Twoim potrzebom w konkretnym przypadku.

Jak usunąć wszystkie cytaty z ciągu znaków w Pythonie?

Przede wszystkim przyjrzyjmy się, jak usunąć wszystkie cudzysłowy z ciągu. Rozwiązania wymienione w tej sekcji można zmienić tak, aby działały zarówno z pojedynczymi, jak i podwójnymi cudzysłowami. Ale na potrzeby tego artykułu załóżmy, że mamy przykładowy ciąg zawierający trzy podwójne cudzysłowy:

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

W tej sekcji przyjrzymy się kilku sposobom usuwania wszystkich " z example_str.

str.zamień()

Pierwszym podejściem, które omówimy, jest użycie str.replace() metoda na example_str. Przyjmuje dwa argumenty – ciąg, który chcemy zastąpić i ciąg zastępczy. W takim przypadku zastąpimy podwójny cudzysłów (") z pustym ciągiem:

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

Połączenia str.replace() użyte w ten sposób usunie wszystkie podwójne cudzysłowy z example_str.

Wyrażenia regularne

To podejście wykorzystuje wyrażenia regularne aby usunąć wszystkie cudzysłowy z ciągu. Zanim zaczniemy używać wyrażeń regularnych w Pythonie, najpierw musimy zaimportować re moduł:

import re

Następnie możemy użyć re.sub() metoda do zastąpić wszystkie wystąpienia cudzysłowu z pustym ciągiem:

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

To da nam example_str bez żadnych cudzysłowów.

str.join()

Połączenia str.join() to kolejna metoda, której możemy użyć do usunięcia wszystkich cudzysłowów z ciągu znaków w Pythonie. To rozwiązanie ma nieco bardziej złożoną składnię niż inne rozwiązania, jeśli nie znasz jeszcze join() metoda. Zasadniczo przejdziemy przez example_str znak po znaku i dołącz każdy, który nie jest cudzysłowem do pustego ciągu. W ten sposób uzyskamy example_str bez żadnych cudzysłowów:

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

Jak usunąć cytaty otaczające ciąg?

Do tej pory omawialiśmy kilka metod usuwania cała kolekcja cudzysłowy z ciągu znaków w Pythonie. To tylko jeden sposób patrzenia na usuwanie cudzysłowów z łańcucha. Prawdopodobnie częstszym problemem jest sposób usunięcia tylko cudzysłowy otaczające ciąg. Połączenia str.strip() Metoda ma właśnie to zrobić. Dlatego omówimy str.strip() metody opisanej w tej sekcji.

Powiedzmy, że mamy dokładnie to samo example_str tak jak w poprzedniej sekcji i chcemy usunąć tylko pierwszy i ostatni cudzysłów:

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

Korzystanie z str.strip() z podwójnym cudzysłowem jako argumentem usunie wiodące i końcowe cudzysłowy z example_str:

Zapoznaj się z naszym praktycznym, praktycznym przewodnikiem dotyczącym nauki Git, zawierającym najlepsze praktyki, standardy przyjęte w branży i dołączoną ściągawkę. Zatrzymaj polecenia Google Git, a właściwie uczyć się to!

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

Uwaga: Bez względu na to, ile wiodących i/lub wiodących cudzysłowów znajduje się w ciągu, str.strip() usunie je wszystkie.

Poza tym, co zwykle str.strip() metody, istnieją również dwie jej pochodne – str.lstrip() i str.rstrip(). Pierwszy usuwa wszystkie wiodące cytaty, a drugi usuwa wszystkie końcowe cytaty:

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

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

Wnioski

W tym krótkim artykule przyjrzeliśmy się dokładnie, jak usunąć cudzysłowy z łańcucha w Pythonie. Przede wszystkim wyjaśniliśmy, jak usunąć wszystkie cudzysłowy z ciągu za pomocą kilku różnych metod – str.replace(), str.join(), re.sub(). Następnie przyjrzeliśmy się str.strip() metoda, a także jej pochodne str.lstrip() i str.rstrip().

Znak czasu:

Więcej z Nadużycie stosu