ersten Ausdruck aus Zeile extrahieren

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
Europython
User
Beiträge: 16
Registriert: Samstag 11. Oktober 2014, 12:40

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!
Europython
User
Beiträge: 16
Registriert: Samstag 11. Oktober 2014, 12:40

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
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

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.
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@/me: split ohne Argumente trennt an den Leerräumen '\t\r\n ' und ignoriert dabei Mehrfachvorkommen und Stringanfang und -ende.
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Dann geben wir dem Fragesteller doch mal einen Link auf die bisher übersehene Dokumentation: split
Antworten