Seite 1 von 1

ersten Ausdruck aus Zeile extrahieren

Verfasst: Dienstag 14. Oktober 2014, 13:45
von Europython
Hallo,

habe zwar einige Dinge zu diesem Thema gefunden, jedoch leider nichts, was mich zum Erfolg geführt habe.
Ich ermittle die letzte Zeile aus einem Text-file und möchte aus dieser Zeile, welche

"" 5.800 0.7822 0.01510 0.00000 -0.0082 0.2110 1.0005""

lautet, die erste Zahl, also 5.800, extrahieren. Problematisch an der Sache ist jedoch, dass es sich vor der ersten Zahl, je nach
Fall um unterschiedlich viele Leerzeichen handelt. Daher kann ich nicht einfach vorne 3 Zeichen löschen und dann bis zum nächsten Leerzeichen den String abspeichern...

Hat mir jemand eine Idee, wie ich das umsetzen kann?

Vielen Dank im Voraus!

Re: ersten Ausdruck aus Zeile extrahieren

Verfasst: Dienstag 14. Oktober 2014, 13:47
von Europython
Leider löscht er mir die Leerzeichen (sofern sie mehr als eines sind) zwischen und vor den Zahlen...
ich hoffe ihr versteht was ich meine

Re: ersten Ausdruck aus Zeile extrahieren

Verfasst: Dienstag 14. Oktober 2014, 13:50
von /me
Europython hat geschrieben:Hat mir jemand eine Idee, wie ich das umsetzen kann?
Einfach. Man muss nur die Standardmethoden für Strings kennen.

Zuerst mal entfernen wir aus dem String alle Leerzeichen am Anfang und Ende (strip) und dann nehmen wir ihn noch an den Leerzeichen auseinander (split) und packen die Einzelteile in eine Liste.

Code: Alles auswählen

>>> " 5.800 0.7822 0.01510 0.00000 -0.0082 0.2110 1.0005".strip()
'5.800 0.7822 0.01510 0.00000 -0.0082 0.2110 1.0005'
>>> " 5.800 0.7822 0.01510 0.00000 -0.0082 0.2110 1.0005".strip().split()
['5.800', '0.7822', '0.01510', '0.00000', '-0.0082', '0.2110', '1.0005']
Jetzt brauchst du nur noch auf das erste Listenelement zugreifen.

Ich habe jetzt keine Lust mehr es auszuprobieren, aber wenn ich split richtig in Erinnerung habe kann man das strip möglicherweise auch weglassen.

Re: ersten Ausdruck aus Zeile extrahieren

Verfasst: Dienstag 14. Oktober 2014, 14:28
von Sirius3
@/me: split ohne Argumente trennt an den Leerräumen '\t\r\n ' und ignoriert dabei Mehrfachvorkommen und Stringanfang und -ende.

Re: ersten Ausdruck aus Zeile extrahieren

Verfasst: Dienstag 14. Oktober 2014, 16:00
von /me
Dann geben wir dem Fragesteller doch mal einen Link auf die bisher übersehene Dokumentation: split