Wie man in Python Zahlen aus einer Zeichenkette extrahiert

Syed Moiz Haider 13 Juli 2021
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 Haider avatar Syed Moiz Haider avatar

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

Verwandter Artikel - Python String