Regex Problem

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
dietrichf
User
Beiträge: 3
Registriert: Donnerstag 20. Januar 2022, 07:22

Hallo und Guten Morgen,
ich hänge an einem Regex-Problem und hoffe ihr könnt mir bitte weiterhelfen.
Eine html-Seite liefert folgenden String:
20220119,16:20,7431,24,NaN,NaN,0.005,NaN,NaN

und ich brauche eigentlich nur 2 Werte (den wo aktuell 7431 steht und den mit 24) in 2 verschiedenen Durchgängen.
Mit dem Regex (.+?)(?:,|$) konnte ich schon auf die Werte zwischen den Kommas filtern. Aber wie bekomme ich das hin, dass jeweils nur ein bestimmter Wert zurückgegeben wird? Die Regex-Tutorials bringen mich nicht weiter.
Kann mir jemand dabei helfen?
Vielen Dank im Voraus
Beste Grüße
Didi
Benutzeravatar
sparrow
User
Beiträge: 4540
Registriert: Freitag 17. April 2009, 10:28

Warum willst du hier Regex verwenden? Was genau spricht gegen ein einfaches .split(",") ?

Liefert eine Webseite diese Daten oder ist es vielleicht doch JSON?
dietrichf
User
Beiträge: 3
Registriert: Donnerstag 20. Januar 2022, 07:22

Hallo, danke für die Antwort.
Ja, die Seite liefert nur den String. Leider funktioniert über die API kein JSON.
Regex würde mir mehr bringen, da ich diesen auch unabhängig von Python benötige
Benutzeravatar
sparrow
User
Beiträge: 4540
Registriert: Freitag 17. April 2009, 10:28

Ich würde es trotzdem ohne machen.
Und wenn du es noch an einer anderen Stelle brauchst, dann solltest du auch da die Möglichkeiten verwenden, die du hast.

Code: Alles auswählen

text = "20220119,16:20,7431,24,NaN,NaN,0.005,NaN,NaN"
_, _, x, y, *_ = text.split(",")
print(x, y)
dietrichf
User
Beiträge: 3
Registriert: Donnerstag 20. Januar 2022, 07:22

Danke
Sirius3
User
Beiträge: 18279
Registriert: Sonntag 21. Oktober 2012, 17:20

Wie kann eine HTML-Seite so einen String liefern? Das ist kein HTML. Wie sieht die Seite wirklich aus?

Ansonsten sieht das nach CSV aus und sollte daher auch mit csv.reader geparst werden.
Antworten