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 Listenverständnisses zum Extrahieren von Zahlen aus einer Zeichenkette

Zahlen aus einer Zeichenkette können durch einfaches Listenverständnis 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 Listenverständnis-Ansatz auftritt.

Verwandter Artikel - Python String

  • Wissenschaftliche Notation in Python
  • Wie man in Python Ganzzahl in Zeichenkette konvertiert