splitting delimited strings

Christoph Rackwitz christoph.rackwitz at gmail.com
Wed Jun 15 19:17:44 EDT 2005


You could use regular expressions... it's an FSM of some kind but it's
faster *g*
check this snippet out:

def mysplit(s):
	pattern = '((?:"[^"]*")|(?:[^ ]+))'
	tmp = re.split(pattern, s)
	res = [ifelse(i[0] in ('"',"'"), lambda:i[1:-1], lambda:i) for i in
tmp if i.strip()]
	return res

>>> mysplit('foo bar "baz foo" bar "baz"')
['foo', 'bar', 'baz foo', 'bar', 'baz']




More information about the Python-list mailing list