Problem
Das Entfernen bestimmter Zeichen aus einer Zeichenfolge in Python ist ein häufiges Problem Der Ansatz besteht darin, die Zeichenfolge zu durchlaufen und die unerwünschten Zeichen zu identifizieren und zu entfernen. Bei einer Implementierung dieses Ansatzes gelingt es jedoch häufig nicht, die Zeichenfolge zu ändern.
Antwort
Es ist von entscheidender Bedeutung, die Unveränderlichkeit von Zeichenfolgen in Python zu verstehen. Zeichenfolgen sind unveränderlich, das heißt, sie können nicht direkt geändert werden. Jeder Versuch, ein Zeichen in einer Zeichenfolge zu ändern, führt zur Erstellung einer neuen Zeichenfolge.
Um bestimmte Zeichen korrekt zu entfernen, weisen Sie die geänderte Zeichenfolge wieder der ursprünglichen Variablen zu. Hier ein Beispiel:
line = "Hello, world!" for char in " ?.!/;:": line = line.replace(char, "") # Create a new string with the character removed print(line) # Output: "Hello,world"
Alternativ können Sie die integrierte str.translate-Funktion verwenden:
line = "Hello, world!" line = line.translate(None, "!@#$") # Remove characters from "!@#$" print(line) # Output: "Hello, world"
Oder reguläre Ausdrücke durch re.sub ersetzen:
import re line = "Hello, world!" line = re.sub('[!@#$]', '', line) # Replace characters in `[]` with an empty string print(line) # Output: "Hello, world"
In Python 3 für Unicode-Strings:
unicode_line = "Hello, world!" translation_table = {ord(c): None for c in "!@#$"} unicode_line = unicode_line.translate(translation_table) # Delete characters with None mapping print(unicode_line) # Output: "Hello, world"
Durch Verständnis der Strings Unveränderlichkeit können Sie in Python bestimmte Zeichen effektiv entfernen und Zeichenfolgen effizient bearbeiten.
Das obige ist der detaillierte Inhalt vonWie entferne ich bestimmte Zeichen effizient aus Zeichenfolgen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!