Heim >Backend-Entwicklung >Python-Tutorial >Regex oder „isdigit()'? Welches eignet sich am besten zum Extrahieren von Zahlen aus Zeichenfolgen in Python?
Extrahieren von Zahlen aus Strings in Python
Das Extrahieren von Zahlen aus einem String kann entweder mithilfe regulärer Ausdrücke oder der Methode isdigit() erreicht werden. Vergleichen wir die Ansätze, um festzustellen, welcher für den Zweck besser geeignet ist.
Reguläre Ausdrücke
Reguläre Ausdrücke bieten ein leistungsstarkes Werkzeug zum Abgleichen von Mustern in Zeichenfolgen. Um Zahlen zu extrahieren, können Sie den folgenden regulären Ausdruck verwenden:
r'\d+'
Dieser Ausdruck gleicht Zeichenfolgen ab, die eine oder mehrere Dezimalstellen enthalten. Betrachten Sie zum Beispiel die Zeichenfolge „Hallo 23, Hallo 33“. Der folgende Code verwendet den regulären Ausdruck, um die Zahlen zu extrahieren:
import re line = "hello 23 hi 33" result = re.findall(r'\d+', line) print(result) # [23, 33]
isdigit()-Methode
Die isdigit()-Methode ist ein einfacherer Ansatz zum Testen, ob Ein Zeichen ist eine Dezimalziffer. Es bietet jedoch nicht die Möglichkeit, Zahlen als Ganzes zu extrahieren. Um isdigit() zu verwenden, müssten Sie die Zeichenfolge Zeichen für Zeichen durchlaufen:
line = "hello 23 hi 33" result = [] for char in line: if char.isdigit(): result.append(int(char)) print(result) # [2, 3, 3]
Vergleich
Letztendlich die Wahl zwischen regulären Ausdrücken und isdigit ()-Methode hängt vom jeweiligen Anwendungsfall ab. Reguläre Ausdrücke bieten mehr Flexibilität für den komplexen Mustervergleich und die Extraktion. Sie unterstützen auch Funktionen wie Wortgrenzen (b) für übereinstimmende Zahlen, die von Leerzeichen umgeben sind.
Für die einfache Extraktion von Zahlen aus einer Zeichenfolge kann die Methode isdigit() ausreichend sein. Für komplexere Fälle oder wenn die Extraktion von Zahlen als Ganzes erforderlich ist, bieten reguläre Ausdrücke jedoch eine umfassendere Lösung.
Das obige ist der detaillierte Inhalt vonRegex oder „isdigit()'? Welches eignet sich am besten zum Extrahieren von Zahlen aus Zeichenfolgen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!