我正在尝试在多个分隔符上执行.split,所以我尝试使用re.split()
我用谷歌搜索的其他例子显示使用\ b
text = "this and that;something.else\nand some more"
import re
items=re.split("[;|\.|\n|\b and \b]",text)
print items
这给出了:
['this', '', '', '', '', 'th', 't', 'somethi', 'g', 'else', '', '', '', '', 'some', 'more']
我希望它使用" and "
作为分隔符并给出:
['this', 'that', 'something', 'else', 'and some more']
答案 0 :(得分:4)
因为您想要获取单词,请尝试使用否定字符类:
items = re.split(" and |[^a-zA-Z ]+",text)
注意:写[;|\.|\n|\b and \b]
毫无意义。一个字符类就像你把一个无序的单个字符放在一个包里,你不能把一个单词(有序字符),你不能把断言作为一个单词边界。 字符类|
内部被视为文字,没有特殊含义。你的角色类与[abdn ;.|]