staschuk at telusplanet.net
Fri Apr 4 06:28:22 CEST 2003
> string.split() takes a delimiter and works fine as long as the
> delimiter isn't part of the data fields. But frequently they are.
> e.g. 'John Doe,135 South Main St.,#122, Springfield, Iowa' or
> ' so long goodbye see ya'
> Because the fields can contain the delimiter in some cases, an
> encloser is usually used (typically "") to handle those fields.
> The above strings would be written:
> 'John Doe,"135 South Main St., #122", Springfield, Iowa'
> '"so long" goodbye "see ya"'
What if the field data contains double quotes?
> I don't understand regular expressions but I was wondering if anyone
> that did knew of a way to get re.split() to handle "enclosers" as used
Why use a regular expression? string.split can do the trick:
in_out = line.split('"')
fields = 
for i in range(len(in_out)):
if i % 2:
Or, more clearly:
fields = 
endquote = line.index('"', 1)
field = line[1:endquote]
# assumed " is followed by ,
line = line[endquote+1:]
field, line = line.split(',', 1)
Steven Taschuk staschuk at telusplanet.net
Receive them ignorant; dispatch them confused. (Weschler's Teaching Motto)
More information about the Python-list