Seite 1 von 1

leerzeichen bei split erhalten?

Verfasst: Donnerstag 29. April 2004, 09:38
von wurst
beim split fallen ja normalerweise die lerrzeichen weg, weil er die wohl als separator verwendet. kann ich das umgehen, sodass in der resultierenden wortliste auch die leerzeichen enthalten sind?

Verfasst: Donnerstag 29. April 2004, 11:47
von Eisfuchs
hmm, keine ahnung ob es da schon was fertiges gibt, aber ich würde wohl einfach die fertige liste durch ne schleife heitzen:

liste = ["abra", "cadabra", "sim", "salabim"]

for index in len(liste):
liste[index] += ' '

aber wie gesagt, da gibt es bestimmt schon was fertiges... :lol:

mfg, lars

Verfasst: Donnerstag 29. April 2004, 12:21
von Dookie
Hi wurst,

und wo sollen die Leerzeichen hin, an den Anfang der Wörter, oder ans Ende der Wörter, oder als eigene Items zwischen die Wörter?


Gruß

Dookie

re:

Verfasst: Donnerstag 29. April 2004, 14:33
von HarryH
Hallo,

Gib doch einfach einen anderen Seperator an.
z.B.

Code: Alles auswählen

s="Ich behalte meine Leerzeichen"
print s.split(";")
Ergibt:

Code: Alles auswählen

['Ich behalte meine Leerzeichen']
Die Frage ist, wie sieht dein zu splitender String aus und was willst du wirklich machen?

Verfasst: Donnerstag 29. April 2004, 15:35
von wurst
danke, hat sich erledigt ;)

sollte ne liste draus werden, die ungefähr SO aussieht:

'leerzeichen sind ne tolle sache'.split(?)=['leerzeichen' , ' ' , 'sind' , ' ' , 'ne' , ' ' , 'tolle' , ' ' , 'sache']

Verfasst: Donnerstag 29. April 2004, 16:46
von joerg
Auch wenn es sich erledigt hat, trotzdem noch eine Antwort für die Nachwelt:

Wenn Du z.B. weißt, daß kein ';' vorkommt und Wert auf einen kompakten Einzeiler legst, würde ich folgendes machen:

Code: Alles auswählen

'leerzeichen sind ne tolle sache'.replace(' ', '; ;').split(';')
Jörg

Verfasst: Freitag 30. April 2004, 20:47
von wurst
da wird sich die nachwelt freuen ;)

gruß und vielen dank!

Verfasst: Freitag 30. April 2004, 21:22
von Milan
Naja, das stimmt aber auch nur solange, wie keine ";" im Text vorkommen. Deswegen hab ich schon länger gegrübelt, wie man das allgemein lösen könnte, mir ist aber nix triviales eingefallen :oops: . Naja, für simple zwecke mag es reichen und ansonsten muss halt noch ein Vortest auf Semikolon her.

Milan

Verfasst: Freitag 30. April 2004, 21:33
von Dookie
Hallo,

man könnte ja auch "\x00" verwenden, das kommt in einem "normalen" Text nie vor, wird daher ja auch von C als Stringende verwendet.

Code: Alles auswählen

'leerzeichen sind ne tolle sache'.replace(' ', '\x00 \x00').split('\x00')
Gruß

Dookie