"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