Heim > Artikel > Backend-Entwicklung > Wie kann ich Gleitkommazahlen effizient aus Strings in Python extrahieren?
So extrahieren Sie Gleitkommazahlen präzise aus Zeichenfolgen
In bestimmten Szenarien ist das Extrahieren von Gleitkommazahlen aus Zeichenfolgen erforderlich. Möglicherweise stoßen Sie auf Zeichenfolgen wie „Aktueller Pegel: 13,4 dB“. wobei nur der Zahlenwert von Interesse ist. Reguläre Ausdrücke (RegEx) bieten eine einfache Lösung für diese Aufgabe.
RegEx-Ansatz
Wenn Ihre Gleitkommazahlen immer in der Form „a.b“ erscheinen, können Sie dies tun Verwenden Sie das folgende RegEx-Muster:
re.findall("\d+\.\d+", "Current Level: 13.4db.")
Dieses Muster erfasst jede numerische Folge, die eine oder mehrere Ziffern enthält, gefolgt von einem Dezimalpunkt und dann eine oder mehrere Ziffern. In unserem Beispiel wird die Zeichenfolge „13.4“ zurückgegeben.
Erweitertes RegEx für robuste Extraktion
Berücksichtigen Sie für mehr Flexibilität das folgende Muster:
re.findall(r"[-+]?(?:\d*\.*\d+)", "Current Level: -13.2db or 14.2 or 3")
Dieses Muster verarbeitet einen größeren Bereich von Gleitkommadarstellungen, einschließlich:
Es wird eine Liste zurückgegeben aller übereinstimmenden Zahlen: ['-13.2', '14.2', '3'].
Direkte Konvertierung zur Validierung
Alternativ können Sie einen Token direkt in einen Float umwandeln, um Benutzereingaben zu validieren:
user_input = "Current Level: 1e100 db" for token in user_input.split(): try: print(float(token), "is a float") except ValueError: print(token, "is something else")
Dieser Code versucht, jeden Token in der Eingabezeichenfolge in einen Float umzuwandeln und gibt aus, ob der Token ein gültiger Float ist oder nicht.
Durch den Einsatz der geeigneten Methode für Ihre spezifischen Anforderungen können Sie Gleitkommazahlen effektiv mit der gewünschten Präzision und Flexibilität aus Zeichenfolgen extrahieren.
Das obige ist der detaillierte Inhalt vonWie kann ich Gleitkommazahlen effizient aus Strings in Python extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!