Einführung
Dieser Artikel beschreibt zwei gängige Methoden, mit denen Sie Zeichen aus einem String mit Python entfernen können:
- die Methode
String replace()
- die Methode
String translate()
Um verschiedene Möglichkeiten zum Entfernen von Leerzeichen aus einem String in Python zu erlernen, lesen Sie Leerzeichen aus einem String in Python entfernen.
A Python String object is immutable, so you can’t change its value. Any method that manipulates a string value returns a new String object.
Die Beispiele in diesem Tutorial verwenden die Python-Interaktive Konsole in der Befehlszeile, um verschiedene Methoden zum Entfernen von Zeichen zu demonstrieren.
Veröffentlichen Sie Ihre Python-Anwendungen von GitHub mit DigitalOcean App Platform. Lassen Sie DigitalOcean die Skalierung Ihrer App übernehmen.
Zeichen aus einem String entfernen mit der Methode replace()
Die Methode String replace()
ersetzt ein Zeichen durch ein neues Zeichen. Sie können ein Zeichen aus einem String entfernen, indem Sie das zu ersetzende Zeichen bzw. die Zeichen als ersten Argument angeben und einen leeren String als zweites Argument.
Deklarieren Sie die Stringvariable:
- s = 'abc12321cba'
Ersetzen Sie das Zeichen durch einen leeren String:
- print(s.replace('a', ''))
Die Ausgabe lautet:
Outputbc12321cb
Die Ausgabe zeigt, dass beide Vorkommen des Zeichens a
aus dem String entfernt wurden.
Entfernen von Zeilenumbruchszeichen aus einem String mit der Methode replace()
Deklarieren Sie eine Stringvariable mit einigen Zeilenumbruchszeichen:
- s = 'ab\ncd\nef'
Ersetzen Sie das Zeilenumbruchszeichen durch einen leeren String:
- print(s.replace('\n', ''))
Die Ausgabe lautet:
Outputabcdef
Die Ausgabe zeigt, dass beide Zeilenumbruchszeichen (\n
) aus dem String entfernt wurden.
Entfernen eines Teilstrings aus einem String mit der Methode replace()
Die Methode replace()
nimmt Zeichenketten als Argumente an, sodass Sie auch ein Wort in einer Zeichenkette ersetzen können.
Erklären Sie die Zeichenkettenvariable:
- s = 'Helloabc'
Ersetzen Sie ein Wort durch eine leere Zeichenkette:
- print(s.replace('Hello', ''))
Die Ausgabe ist:
Outputabc
Die Ausgabe zeigt, dass die Zeichenkette Hello
aus der Eingabezeichenkette entfernt wurde.
Entfernen Sie Zeichen eine bestimmte Anzahl von Malen mit der Methode replace()
Sie können ein drittes Argument in der Methode replace()
angeben, um die Anzahl der Ersetzungen in der Zeichenkette festzulegen, bevor sie gestoppt wird. Wenn Sie beispielsweise 2
als drittes Argument angeben, werden nur die ersten 2 Vorkommen der angegebenen Zeichen ersetzt.
Erklären Sie die Zeichenkettenvariable:
- s = 'abababab'
Ersetzen Sie die ersten beiden Vorkommen des Zeichens durch das neue Zeichen:
- print(s.replace('a', 'A', 2)) # Ersetzung zweimal durchführen
Die Ausgabe ist:
OutputAbAbabab
Die Ausgabe zeigt, dass die ersten beiden Vorkommen des Zeichens a
durch das Zeichen A
ersetzt wurden. Da die Ersetzung nur zweimal erfolgte, bleiben die anderen Vorkommen von a
in der Zeichenkette erhalten.
Entfernen von Zeichen aus einem String mit der translate()
-Methode
Die Python-Zeichenkette translate()
-Methode ersetzt jedes Zeichen im String mithilfe der angegebenen Mapping-Tabelle oder des Wörterbuchs.
Deklarieren Sie eine Zeichenkettenvariable:
- s = 'abc12321cba'
Holen Sie den Unicode-Zeichenwert eines Zeichens und ersetzen Sie ihn durch None
:
- print(s.translate({ord('b'): None}))
Die Ausgabe ist:
Outputac12321ca
Die Ausgabe zeigt, dass beide Vorkommen des Zeichens b
aus dem String entfernt wurden, wie im benutzerdefinierten Wörterbuch definiert.
Entfernen Sie mehrere Zeichen aus einem String mit der translate()
-Methode
Sie können mehrere Zeichen in einem String mithilfe der translate()
-Methode ersetzen. Das folgende Beispiel verwendet ein benutzerdefiniertes Wörterbuch, {ord(i): None for i in 'abc'}
, das alle Vorkommen von a
, b
und c
im angegebenen String durch None
ersetzt.
Deklarieren Sie die Zeichenkettenvariable:
- s = 'abc12321cba'
Ersetzen Sie alle Zeichen abc
durch None
:
- print(s.translate({ord(i): None for i in 'abc'}))
Die Ausgabe lautet:
Output12321
Die Ausgabe zeigt, dass alle Vorkommen von a
, b
und c
aus dem String entfernt wurden, wie in der benutzerdefinierten Wörterbuchdefinition festgelegt.
Entfernen von Zeilenumbruchzeichen aus einem String mit der translate()
-Methode
Sie können Zeilenumbruchzeichen in einem String mithilfe der translate()
-Methode ersetzen. Das folgende Beispiel verwendet ein benutzerdefiniertes Wörterbuch, {ord('\n'): None}
, das alle Vorkommen von \n
im gegebenen String durch None
ersetzt.
Erklären Sie die Stringvariable:
- s = 'ab\ncd\nef'
Ersetzen Sie alle \n
-Zeichen durch None
:
- print(s.translate({ord('\n'): None}))
Die Ausgabe lautet:
Outputabcdef
Die Ausgabe zeigt, dass alle Vorkommen des Zeilenumbruchzeichens \n
aus dem String entfernt wurden, wie in der benutzerdefinierten Wörterbuchdefinition festgelegt.
Fazit
In diesem Tutorial haben Sie einige Methoden gelernt, mit denen Sie Zeichen aus Strings in Python entfernen können. Setzen Sie Ihr Lernen zu Python-Strings fort.
Source:
https://www.digitalocean.com/community/tutorials/python-remove-character-from-string