Wie kann man in Python Zahlen aus einem String extrahieren?

In Python kann man reguläre Ausdrücke verwenden, um Zahlen aus einem String zu extrahieren. Das re-Modul bietet Funktionen zur Arbeit mit regulären Ausdrücken. Hier ist ein Beispiel, wie man das re-Modul verwenden kann, um alle Ganzzahlen aus einem String zu extrahieren:

import re

string = "Der Preis beträgt $120 und die Steuer beträgt $20.5"
numbers = [int(num) for num in re.findall(r'\d+', string)]
print(numbers)
# Ausgabe: [120, 20]

In diesem Beispiel wird der reguläre Ausdruck r'\d+' verwendet, um eine oder mehrere Ziffern im String zu suchen. Die Funktion findall() wird verwendet, um alle Übereinstimmungen des regulären Ausdrucks im String zu finden, und die resultierenden Übereinstimmungen werden mithilfe einer List Comprehension in Ganzzahlen umgewandelt.

Wenn Sie Dezimalzahlen extrahieren möchten, verwenden Sie float() anstelle von int().

import re

string = "Der Preis beträgt $120 und die Steuer beträgt $20.5"
numbers = [float(num) for num in re.findall(r'[\d.]+', string)]
print(numbers)
# Ausgabe: [120.0, 20.5]

Beachten Sie, dass dies auch Zahlen mit Dezimalpunkten extrahiert.