Einführung
Dieser Artikel beschreibt zwei gängige Methoden, mit denen man in Python Zeichen aus einer Zeichenkette entfernen kann:
- Verfahren
String replace() - Verfahren
String translate()
Um verschiedene Möglichkeiten zum Entfernen von Leerzeichen aus einer Zeichenkette in Python kennenzulernen, siehe Entfernen von Leerzeichen aus einer Zeichenkette in Python.
Ein Python-String-Objekt ist unveränderlich, sein Wert kann also nicht geändert werden. Jede Methode, die einen String-Wert manipuliert, gibt ein neues String-Objekt zurück.
Die Beispiele in diesem Tutorial verwenden die interaktive Python-Konsole in der Kommandozeile, um verschiedene Möglichkeiten zum Entfernen von Zeichen zu demonstrieren.
Entfernen von Zeichen aus einer Zeichenkette mithilfe der replace()-Methode
Die Methode `String()` ersetzt ein Zeichen durch ein neues. Sie können ein Zeichen aus einer Zeichenkette entfernen, indem Sie das/die Zeichen als erstes Argument und eine leere Zeichenkette als zweites Argument angeben.
Deklarieren Sie die String-Variable:
s = 'abc12321cba'Ersetzen Sie das Zeichen durch eine leere Zeichenkette:
print(s.replace('a', ''))Die Ausgabe lautet:
Output
bc12321cbDie Ausgabe zeigt, dass beide Vorkommen des Zeichens a aus der Zeichenkette entfernt wurden.
Entfernen von Zeilenumbruchzeichen aus einer Zeichenkette mithilfe der replace()-Methode
Deklarieren einer String-Variablen mit mehreren Zeilenumbrüchen:
s = 'ab\ncd\nef' code... */Ersetzen Sie das Zeilenumbruchzeichen durch eine leere Zeichenkette:
print(s.replace('\n', ''))Die Ausgabe lautet:
Output
abcdefDie Ausgabe zeigt, dass beide Zeilenumbruchzeichen (\n) aus der Zeichenkette entfernt wurden.
Entfernen Sie eine Teilzeichenkette aus einer Zeichenkette mithilfe der replace()-Methode.
Die replace()-Methode nimmt Zeichenketten als Argumente entgegen, sodass man ein Wort in einer Zeichenkette ersetzen kann.
Deklarieren Sie die String-Variable:
s = 'Helloabc'Ersetze ein Wort durch eine leere Zeichenkette:
print(s.replace('Hello', ''))Die Ausgabe lautet:
Die Ausgabe zeigt, dass die Zeichenkette „Hello“ aus der Eingabezeichenkette entfernt wurde.
Entferne Zeichen eine bestimmte Anzahl Male mithilfe der replace()-Methode
Sie können der `replace()`-Methode ein drittes Argument übergeben, um die Anzahl der Ersetzungen im String festzulegen, bevor der Vorgang abgebrochen wird. Wenn Sie beispielsweise 2 als drittes Argument angeben, werden nur die ersten beiden Vorkommen der angegebenen Zeichen ersetzt.
Deklarieren Sie die String-Variable:
s = 'abababab'Ersetzen Sie die ersten beiden Zeichen durch das neue Zeichen:
print(s.replace('a', 'A', 2)) # perform replacement twiceDie Ausgabe lautet:
Output
AbAbababDie Ausgabe zeigt, dass die ersten beiden Vorkommen des Zeichens a durch das Zeichen A ersetzt wurden. Da die Ersetzung nur zweimal durchgeführt wurde, bleiben die anderen Vorkommen von eins in der Zeichenkette erhalten.
Entferne Zeichen aus einer Zeichenkette mithilfe der translate()-Methode
Die Python-Methode `translate()` ersetzt jedes Zeichen in der Zeichenkette mithilfe einer gegebenen Zuordnungstabelle oder eines Wörterbuchs.
Deklariere eine String-Variable:
s = 'abc12321cba'Den Unicode-Codepunktwert eines Zeichens abrufen und durch None ersetzen:
print(s.translate({ord('b'): None}))Die Ausgabe lautet:
Output
ac12321caDie Ausgabe zeigt, dass beide Vorkommen des Zeichens b, wie im benutzerdefinierten Wörterbuch definiert, aus der Zeichenkette entfernt wurden.
Entfernen Sie mehrere Zeichen aus einer Zeichenkette mithilfe der translate()-Methode
Sie können mehrere Zeichen in einer Zeichenkette mithilfe der Methode `translate()` ersetzen. Das folgende Beispiel verwendet ein benutzerdefiniertes Wörterbuch, `{ord(i): None for i in 'abc'}`, das alle Vorkommen von `a`, `b` und `c` in der gegebenen Zeichenkette durch `None` ersetzt.
Deklarieren Sie die String-Variable:
s = 'abc12321cba'Ersetze alle Zeichen abc durch None:
print(s.translate({ord(i): None for i in 'abc'}))Die Ausgabe lautet:
Output
12321Die Ausgabe zeigt, dass alle Vorkommen von a, b und c aus der Zeichenkette entfernt wurden, wie im benutzerdefinierten Wörterbuch definiert.
Entfernen von Zeilenumbrüchen aus einer Zeichenkette mithilfe der translate()-Methode
Sie können Zeilenumbruchzeichen in einer Zeichenkette mithilfe der Methode `translate()` ersetzen. Das folgende Beispiel verwendet ein benutzerdefiniertes Wörterbuch `{ord('\n'): None}`, das alle Vorkommen von `\n` in der angegebenen Zeichenkette durch `None` ersetzt.
Deklarieren Sie die String-Variable:
s = 'ab\ncd\nef'Ersetze alle \n-Zeichen durch None:
print(s.translate({ord('\n'): None}))Die Ausgabe lautet:
Output
abcdefDie Ausgabe zeigt, dass alle Vorkommen des Zeilenumbruchzeichens \n aus der Zeichenkette entfernt wurden, wie im benutzerdefinierten Wörterbuch definiert.
Ergebnis
In diesem Tutorial haben Sie die Methoden kennengelernt, mit denen Sie Zeichen aus Zeichenketten in Python entfernen können. Setzen Sie Ihr Wissen über Python-Zeichenketten fort.









