Entfernen Sie Zahlen aus dem String in Python
-
Entfernen Sie Zahlen aus dem String mit der Methode
string.join()
in Python -
Entfernen von Zahlen aus dem String in Python mit der Methode
string.translate()
-
Entfernen von Zahlen aus dem String in Python mit der Methode
re.sub()
In diesem Tutorial werden verschiedene Methoden zum Entfernen der Zahlen oder Ziffern aus der Zeichenkette in Python untersucht. Normalerweise entfernen wir während der Datenbereinigung Zahlen aus den Daten in der Verarbeitung natürlicher Sprache.
Angenommen, wir haben eine Zeichenkette abcd1234efg567
und möchten die Ziffern aus der Zeichenkette entfernen, um eine Zeichenkette wie abcdefg
zu erhalten. Wir können die Zahlen in Python mit den folgenden Methoden aus der Zeichenkette entfernen:
Entfernen Sie Zahlen aus dem String mit der Methode string.join()
in Python
Die Methode string.join(iterable)
verwendet ein iterierbares Objekt iterable
als Eingabe, verbindet seine Elemente unter Verwendung des Werts der Zeichenkette string
als Trennzeichen und gibt die resultierende Zeichenkette als Ausgabe zurück.
Um Zahlen aus der Zeichenkette zu entfernen, durchlaufen wir zunächst die Zeichenkette und wählen nichtstellige Werte aus, übergeben sie an die Methode string.join()
, um sie zu verbinden und die resultierende Zeichenkette mit nichtstelligen Zeichen als Ausgabe abzurufen.
Der folgende Beispielcode zeigt, wie Sie mit der Methode string.join()
die Zahlen aus der Zeichenkette in Python entfernen.
string = "abcd1234efg567"
newstring = "".join([i for i in string if not i.isdigit()])
print(newstring)
Ausgabe:
abcdefg
Entfernen von Zahlen aus dem String in Python mit der Methode string.translate()
Die Methode string.translate(map)
in Python 2 verwendet eine Zuordnungstabelle oder ein Dictionary als Eingabe und gibt die Zeichenkette zurück, nachdem die angegebenen Zeichen durch die in der Eingabezuordnungstabelle oder dem Dictionary definierten Zeichen ersetzt wurden.
Der folgende Beispielcode zeigt, wie Sie mit der Methode string.translate()
die Zahlen aus der Zeichenkette in Python 2 entfernen.
from string import digits
string = "abcd1234efg567"
newstring = string.translate(None, digits)
print(newstring)
Ausgabe:
abcdefg
In Python 3 verwendet die Datei string.translate(table)
die Übersetzungstabelle als Eingabe anstelle der Zuordnungstabelle oder des Dictionaries, wie in Python 2. Daher müssen wir die Methode str.maketrans()
verwenden, um eine zu erhalten Übersetzungstabelle, um sie als Eingabe für die Methode string.translate()
zu verwenden.
Der folgende Beispielcode zeigt, wie die Methoden string.translate()
und str.maketrans()
verwendet werden, um die Zahlen in Python 3 aus der Zeichenkette zu entfernen:
from string import digits
string = "abcd1234efg567"
table = str.maketrans("", "", digits)
newstring = string.translate(table)
print(newstring)
Ausgabe:
abcdefg
Entfernen von Zahlen aus dem String in Python mit der Methode re.sub()
Das re.sub(pattern, replace, string)
nimmt die string
als Eingabe und gibt die Zeichenkette zurück, indem die nicht überlappenden Vorkommen der Zeichenkette pattern
(als regulärer Ausdruck beschrieben) durch den Wert replace
ersetzt werden in der Zeichenkette.
Der reguläre Ausdruck für Ziffern ist [0-9]+
. Wir müssen dies nur als pattern
-Argument und ''
als replace
übergeben, um die Zahlen mit der Methode re.sub()
aus der Eingabe string
zu entfernen.
Der folgende Beispielcode zeigt, wie Sie mit der Methode re.sub()
Zahlen aus der Zeichenkette entfernen:
import re
string = "abcd1234efg567"
newstring = re.sub(r"[0-9]+", "", string)
print(newstring)
Ausgabe:
abcdefg
Verwandter Artikel - Python String
- Entfernen Kommas aus String in Python
- Wie man prüft, ob eine Zeichenkette auf pythonische Weise leer ist
- Konvertieren einer Zeichenkette in einen Variablennamen in Python
- Wie man Leerzeichen in einem String in Python entfernt
- Wie man in Python Zahlen aus einer Zeichenkette extrahiert
- Wie man in Python String in datetime konvertiert