Frage zu String split()

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
Barcellona
User
Beiträge: 74
Registriert: Dienstag 25. Mai 2010, 12:10

Hallo zusammen,

mal eine kurze Frage.

Ist es möglich über die split()-Funktion einen String zu splitten auf Grund von mehrerer
Bedingungen?

Spriche: splitte den string bei Kommas, Leerzeichen, Punkten

sind mehrere Bedingungen in spit() möglich? =>

Code: Alles auswählen

"hallo, das ist ein test. test".split(" ",",",".")
Oder müsste ich da reguläre Ausdrücke benutzen?
karolus
User
Beiträge: 141
Registriert: Samstag 22. August 2009, 22:34

Hallo

Code: Alles auswählen

>>> import re
>>> re.split(r'[, .]*', "hallo das ist, ein Test. Satz zwo")
['hallo', 'das', 'ist', 'ein', 'Test', 'Satz', 'zwo']
>>> 
Karo
Barcellona
User
Beiträge: 74
Registriert: Dienstag 25. Mai 2010, 12:10

Vielen Dank für die schnelle Lösung.

Wenn ich jetzt aber die Kommas und Punkte auch in der Liste haben will, also:

"Hallo, das ist ein Test. test"

=> ["Hallo", ",", "das", "ist", "ein", "Test", ".", "test"]

Wie kann ich das wohl am besten lösen?
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Wenn du weißt, dass du immer nur ein Zeichen zum trennen verwenden willst, kannst du einfach über den String iterieren und bei den Trennzeichen ein neues Element erzeugen.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
karolus
User
Beiträge: 141
Registriert: Samstag 22. August 2009, 22:34

Hallo

Code: Alles auswählen

re.findall(r'(\w+|\.|,)', ...)
Karo
Barcellona
User
Beiträge: 74
Registriert: Dienstag 25. Mai 2010, 12:10

Vielen Dank für die Antworten :)
Antworten