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
The one I like best goes like this: py> data = "Guido van Rossum Tim Peters Thomas Liesner" py> names = [n for n in data.split() if n] py> names ['Guido', 'van', 'Rossum', 'Tim', 'Peters', 'Thomas', 'Liesner'] I think it is theoretically faster (and more pythonic) than using regexes. James -- http://mail.python.org/mailman/listinfo/python-list