Wie man in Python Zahlen aus einer Zeichenkette extrahiert
Dieses Tutorial erklärt, wie man Zahlen aus einer Zeichenkette in Python erhält. Es listet auch einige Beispielcodes auf, um das Konzept mit verschiedenen Ansätzen weiter zu verdeutlichen.
Verwenden des List Comprehensions zum Extrahieren von Zahlen aus einer Zeichenkette
Zahlen aus einer Zeichenkette können durch einfaches List Comprehensions gewonnen werden. Die Methode split()
wird verwendet, um eine Zeichenkette in eine Liste von Zeichen zu konvertieren, und die Methode isdigit()
wird verwendet, um zu prüfen, ob eine Ziffer durch die Iteration gefunden wird.
Ein Beispiel für einen Basiscode wird gegeben als:
temp_string = "Hi my age is 32 years and 250 days12"
print(temp_string)
numbers = [int(temp) for temp in temp_string.split() if temp.isdigit()]
print(numbers)
Ausgabe:
Hi my age is 32 years and 250 days12
[32, 250]
Dieser Code identifiziert jedoch keine Zahlen, die in Alphabeten enthalten sind.
Verwenden Sie das Modul re
, um Zahlen aus einer Zeichenkette zu extrahieren
Das re
-Modul von Python bietet auch Funktionen, die die Zeichenkette durchsuchen und Ergebnisse extrahieren können. Das re
Modul bietet mit der findall()
Methode eine Liste aller Treffer. Ein Beispielcode ist unten angegeben:
import re
temp_string = "Hi my age is 32 years and 250.5 days12"
print(temp_string)
print([float(s) for s in re.findall(r"-?\d+\.?\d*", temp_string)])
Ausgabe:
Hi my age is 32 years and 250.5 days12
[32.0, 250.5, 12.0]
Die RegEx
-Lösung funktioniert sowohl für negative als auch für positive Zahlen und überwindet das Problem, das beim List Comprehensions-Ansatz auftritt.
Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.
LinkedIn