s.split() on multiple separators
Tim Chase
python.list at tim.thechases.com
Sun Sep 30 12:59:07 EDT 2007
> OK, so I want to split a string c into words using several different
> separators from a list (dels).
>
> I can do this the following C-like way:
>
>>>> c=' abcde abc cba fdsa bcd '.split()
>>>> dels='ce '
>>>> for j in dels:
> cp=[]
> for i in xrange(0,len(c)-1):
> cp.extend(c[i].split(j))
> c=cp
>
>
>>>> c
> ['ab', 'd', '', 'ab', '', '']
Given your original string, I'm not sure how that would be the
expected result of "split c on the characters in dels".
While there's a certain faction of pythonistas that don't esteem
regular expressions (or at least find them overused/misused,
which I'd certainly agree to), they may be able to serve your
purposes well:
>>> c=' abcde abc cba fdsa bcd '
>>> import re
>>> r = re.compile('[ce ]')
>>> r.split(c)
['', 'ab', 'd', '', 'ab', '', '', 'ba', 'fdsa', 'b', 'd', '']
given that a regexp object has a split() method.
-tkc
More information about the Python-list
mailing list