"ronrsr" <[EMAIL PROTECTED]> wrote:
> I'm trying to break up the result tuple into keyword phrases. The
> keyword phrases are separated by a ; -- the split function is not
> working the way I believe it should be. Can anyone see what I"m doing
> wrong?
I think your example boils down to:
>>> help(str.split)
Help on method_descriptor:
split(...)
S.split([sep [,maxsplit]]) -> list of strings
Return a list of the words in the string S, using sep as the
delimiter string. If maxsplit is given, at most maxsplit
splits are done. If sep is not specified or is None, any
whitespace string is a separator.
>>> s = 'Antibiotics, Animals'
>>> s.split('; ()[]"')
['Antibiotics, Animals']
This is what I expect. The separator string '; ()[]"' does not occur
anywhere in the input string, so there is nowhere to split it.
If you want to split on multiple single characters, then either use
re.split and filter out the separators, or use string.translate or
str.replace to replace all of the separators with the same character and
split on that. e.g.
>>> def mysplit(s):
s = s.replace(' ', ';')
s = s.replace('(', ';')
s = s.replace(')', ';')
s = s.replace('[', ';')
s = s.replace(']', ';')
s = s.replace('"', ';')
return s.split(';')
>>> mysplit(s)
['Antibiotics,', 'Animals']
which still looks a bit weird as output, but you never actually said what
output you wanted.
--
http://mail.python.org/mailman/listinfo/python-list