Seite 1 von 1

Frage zu String split()

Verfasst: Mittwoch 6. Juni 2012, 19:43
von Barcellona
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?

Re: Frage zu String split()

Verfasst: Mittwoch 6. Juni 2012, 19:53
von karolus
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

Re: Frage zu String split()

Verfasst: Mittwoch 6. Juni 2012, 20:01
von Barcellona
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?

Re: Frage zu String split()

Verfasst: Mittwoch 6. Juni 2012, 20:20
von jbs
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.

Re: Frage zu String split()

Verfasst: Mittwoch 6. Juni 2012, 21:08
von karolus
Hallo

Code: Alles auswählen

re.findall(r'(\w+|\.|,)', ...)
Karo

Re: Frage zu String split()

Verfasst: Mittwoch 6. Juni 2012, 22:41
von Barcellona
Vielen Dank für die Antworten :)