Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich Gleitkommazahlen effizient aus Strings in Python extrahieren?

Wie kann ich Gleitkommazahlen effizient aus Strings in Python extrahieren?

DDD
DDDOriginal
2024-11-25 10:00:15919Durchsuche

How Can I Efficiently Extract Floating-Point Numbers from Strings in Python?

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:

  • Negativ Zeichen (-)
  • Ganze Zahlen (z. B. „3“)
  • Zahlen ohne Dezimalpunkte (z. B. „13“)

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn