这与分裂和标点符号无关;你只关心字母(和数字),只想要一个正则表达式:
import re
def getWords(text)
return re.compile('\w+').findall(text)演示:
>>> re.compile('\w+').findall('Hello world, my name is...James the 2nd!')
['Hello', 'world', 'my', 'name', 'is', 'James', 'the', '2nd']如果您不关心数字,请将\w替换为[A-Za-z]仅用于字母,或将[A-Za-z']替换为包括收缩等。可能有更好的方法将字母非数字字符类(例如带有重音符号的字母)与其他正则表达式包括在内。
我几乎在这里回答了这个问题:Split Strings with Multiple Delimiters?
但是你的问题实际上没有说明:你想把'this is: an example'分成:
['this', 'is', 'an', 'example']
或['this', 'is', 'an', '', 'example']?
我认为这是第一个案例。
[this', 'is', 'an', example'] is what i want. is there a method without importing regex? If we can just replace the non