Thomas Liesner wrote: > Hi all, > > i am having a textfile which contains a single string with names. > I want to split this string into its records an put them into a list. > In "normal" cases i would do something like: > >> #!/usr/bin/python >> inp = open("file") >> data = inp.read() >> names = data.split() >> inp.close() > > The problem is, that the names contain spaces an the records are also > just seprarated by spaces. The only thing i can rely on, ist that the > recordseparator is always more than a single whitespace. > > I thought of something like defining the separator for split() by using > a regex for "more than one whitespace". RegEx for whitespace is \s, but > what would i use for "more than one"? \s+? > > TIA, > Tom \s+ gives one or more, you need \s{2,} for two or more:
>>> import re >>> re.split("\s{2,}","Guido van Rossum Tim Peters Thomas Liesner") ['Guido van Rossum', 'Tim Peters', 'Thomas Liesner'] >>> Michael -- http://mail.python.org/mailman/listinfo/python-list