Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich mithilfe regulärer Ausdrücke in Python Gleitkommazahlen aus einer Zeichenfolge extrahieren?

Wie kann ich mithilfe regulärer Ausdrücke in Python Gleitkommazahlen aus einer Zeichenfolge extrahieren?

DDD
DDDOriginal
2024-12-03 10:25:10166Durchsuche

How Can I Extract Floating-Point Numbers from a String Using Regular Expressions in Python?

Gleitkommazahlen aus einer Zeichenfolge mithilfe regulärer Ausdrücke extrahieren

Bei der Programmierung ist es häufig erforderlich, Daten aus Textzeichenfolgen zu extrahieren. In diesem Fall möchten Sie Gleitkommazahlen aus einer Zeichenfolge wie „Aktueller Pegel: 13,4 dB“ extrahieren.

Lösung für reguläre Ausdrücke

Verwendung regulärer Ausdrücke können Sie ein Muster definieren, das Gleitkommazahlen erfasst. Betrachten Sie den folgenden Python-Code:

import re

string = "Current Level: 13.4db."
result = re.findall(r"\d+\.\d+", string)
print(result)

Dieser Code verwendet das reguläre Ausdrucksmuster d .d :

  • d : Entspricht einer oder mehreren Ziffern und stellt den ganzzahligen Teil des dar float.
  • .: Entspricht dem Dezimalpunkt.
  • d: Entspricht einer oder mehreren Ziffern nach dem Dezimalpunkt, der den Bruchteil der Gleitkommazahl darstellt.

Die Ergebnisliste enthält die extrahierte Gleitkommazahl: ['13.4'].

Robuste Lösung mit Validierung

Für einen robusteren Ansatz verwenden Sie das Muster r"[- ]?(?:d*.*d )". Dieses Muster verarbeitet sowohl positive als auch negative Vorzeichen sowie optionale Ziffern vor dem Dezimalpunkt.

result = re.findall(r"[-+]?(?:\d*\.*\d+)", string)
print(result)

Zusätzlich zur Extraktion können Sie Benutzereingaben validieren, indem Sie versuchen, sie direkt in eine Gleitkommazahl umzuwandeln:

user_input = "Current Level: 1e100 db"
for token in user_input.split():
    try:
        float_value = float(token)
        print(f"{float_value} is a float")
    except ValueError:
        print(f"{token} is something else")

Dieser Code durchläuft die Token in der Eingabezeichenfolge und versucht, sie in Floats umzuwandeln. Wenn eine Konvertierung erfolgreich ist, ist der Token ein Float. Ansonsten wird es als etwas anderes betrachtet.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe regulärer Ausdrücke in Python Gleitkommazahlen aus einer Zeichenfolge 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