zahl in einem string finden

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
Fire Spike
User
Beiträge: 329
Registriert: Montag 13. Mai 2019, 16:05
Wohnort: Erde

Hallo :D
Ich habe wieder eine Frage.
ich habe in einem string text und zahlen.
die zahlen sehen änlich aus wie diese: 26.436.104
wie kann solche zahlen herausfilter? :?:
liebe grüsse Firespike
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Statt nur zu zeigen wie die Zahlen aussehen ist es viel besser zu zeigen wie dein Text als ganzes aussieht.
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

Hey,
ich würde das mit RegEx machen

Code: Alles auswählen

import re

string = """Hallo :D
Ich habe wieder eine Frage.
ich habe in einem string text und zahlen.
die zahlen sehen änlich aus wie diese: 26.436.104
wie kann solche zahlen herausfilter? :?:
liebe grüsse Firespike"""

matches = re.findall("(\d+(?:\.\d+)+(?:\.\d+))", string)

print(matches)

Ausgabe:

['26.436.104']
Fire Spike
User
Beiträge: 329
Registriert: Montag 13. Mai 2019, 16:05
Wohnort: Erde

Danke genau das brauche ich :D
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

Ob das

Code: Alles auswählen

(\d+(?:\.\d+)+(?:\.\d+))
so richtig ist weiß ich aber nicht genau. Da würde ich dir raten zur Sicherheit selber mal rein zu lesen und nicht blind darauf zu vertrauen. Es liefert nämlich auch Zahlen mit mehr als zwei Punkten dazwischen.
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@Jankie: wenn Du einen Ausdruck zwei oder mehrmals willst, benutze geschweifte Klammern:

Code: Alles auswählen

(\d+(?:\.\d+){2,})
Antworten