Heim >Backend-Entwicklung >Python-Tutorial >Wie entferne ich bestimmte Zeichen effizient aus einer Zeichenfolge in Python?
Bestimmte Zeichen aus einer Zeichenfolge in Python entfernen
Wenn Sie in Python mit Zeichenfolgen arbeiten, müssen Sie möglicherweise bestimmte Zeichen entfernen. Die gebräuchlichste Methode hierfür ist die Verwendung der Methode replace(). Allerdings scheint der folgende Code leider keine Zeichen zu entfernen:
for char in line: if char in " ?.!/;:": line.replace(char,'')
Das Problem bei diesem Code besteht darin, dass die Methode replace() die Zeichenfolge nicht direkt ändert. Um die Zeichen korrekt zu ersetzen, müssen Sie das Ergebnis der Methode replace() wieder der Zeilenvariablen zuweisen:
for char in " ?.!/;:": line = line.replace(char,'')
Alternativ können Sie einen prägnanteren und effizienteren Ansatz verwenden:
import string line = line.translate(string.maketrans('', ''), '!@#$')
Die Methode Translate() verwendet eine Übersetzungstabelle als zweites Argument. Die Übersetzungstabelle ist eine Zeichenfolge, in der jedes Zeichen das entsprechende zu entfernende Zeichen darstellt. In diesem Fall enthält die Übersetzungstabelle vier Zeichen: „!“, „@“, „#“ und „$“. Jedes Zeichen in der Zeile, das mit einem dieser Zeichen übereinstimmt, wird entfernt.
Eine weitere Option ist die Verwendung regulärer Ausdrücke:
import re line = re.sub('[!@#$]', '', line)
Die sub()-Methode verwendet als erstes ein reguläres Ausdrucksmuster Argument. Das in Klammern eingeschlossene Muster gibt an, welche Zeichen entfernt werden sollen. Das zweite Argument ist die Zeichenfolge, durch die die übereinstimmenden Zeichen ersetzt werden sollen. In diesem Fall wird die leere Zeichenfolge verwendet, um die Zeichen effektiv zu entfernen.
Für Python 3 werden Zeichenfolgen als Unicode dargestellt und erfordern einen etwas anderen Ansatz:
unicode_line = unicode_line.translate({ord(c): None for c in '!@#$'})
Dieser Code erstellt eine Übersetzungstabelle, in der jedes Zeichen in der Liste „Keine“ zugeordnet ist, was angibt, dass es entfernt werden sollte.
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!