alexk said:
I've a simple question. Why the following:
words = "123#@$#$@^%[wordA] wordB#@$".split('~`!@#$%^&*()_+-=[]{},./')
doesn't work? The length of the result vector is 1.
I'm using ActivePython 2.4
Alex
Do you mean, why doesn't it split on every character in '~`!@#$%^&*()_+-=[]{},./' ?
Help on built-in function split:
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.
sep as a whole is the delimeter string
If you want to split on any of the characters in your sep string, use a regexp:
Perhaps:
>>> import re
>>> splitter = re.compile("[\[\]~`!@#$%^&*()_+-= ]+") #note escapes for []
>>> splitter.split("123#@$#$@^%[wordA] wordB#@$") ['', 'wordA', 'wordB', '']
>>>
is closer to what you had in mind
Michael