Bestimmte Zeichen aus Zeichenfolgen in Python entfernen
Das Entfernen bestimmter Zeichen aus einer Zeichenfolge kann in Python eine häufige Aufgabe sein. Es ist jedoch wichtig, die Unveränderlichkeit von Zeichenfolgen in Python zu verstehen, wenn Sie versuchen, Zeichenfolgen zu ändern.
Der bereitgestellte Codeausschnitt:
for char in line: if char in ":?!/;": line.replace(char, "")
entfernt die Zeichen nicht, da Zeichenfolgen in Python unveränderlich sind. Wenn Sie das Ergebnis von line.replace(...) einer neuen Variablen zuweisen, wird eine neue Zeichenfolge mit den gewünschten Änderungen erstellt, die ursprüngliche Zeichenfolge wird jedoch nicht geändert.
Lösungen:
Option 1: Ersetzung durch reguläre Ausdrücke
import re line = re.sub('[!@#$]', '', line)
Bei diesem Ansatz werden reguläre Ausdrücke zur Angabe der Zeichen verwendet zu entfernen und durch eine leere Zeichenfolge zu ersetzen.
Option 2: Translate-Methode
line = line.translate({ord(c): None for c in '!@#$'})
In Python 3 können wir die Translate-Methode mit einer benutzerdefinierten verwenden Übersetzungstabelle, die Zeichen auf „Keine“ zuordnet, um das Entfernen anzuzeigen.
Option 3: maketrans Methode
line = line.translate(str.maketrans('', '', '!@#$'))
Diese Option erstellt die Übersetzungstabelle mithilfe der maketrans-Funktion, die eine Zuordnung zwischen der leeren Zeichenfolge und den zu entfernenden Zeichen generiert.
Fazit:
Beim Ändern von Zeichenfolgen in Python ist es wichtig, deren Unveränderlichkeit zu berücksichtigen und die entsprechenden Techniken zu verwenden, um das gewünschte Ergebnis zu erzielen, wie z Binden Sie die geänderte Zeichenfolge erneut an eine Variable oder verwenden Sie Funktionen wie re.sub oder str.translate.
Das obige ist der detaillierte Inhalt vonWie entferne ich bestimmte Zeichen effizient aus einer Zeichenfolge in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!