除了撇号之外,我如何拆分所有非字母数字字符?
re.split('\W+',text)
有效,但也会在撇号上分开。如何为此规则添加例外?
谢谢!
答案 0 :(得分:3)
试试这个:
re.split(r"[^\w']+",text)
注意w
现在是小写的,因为它代表所有字母数字字符(请注意,它包含下划线)。字符类[^\w']
指的是不(^
)字母数字(\w
)或撇号的任何内容。
答案 1 :(得分:2)
re.split(r"[^\w']+",text)
通过使用^
启动字符类,它会反转定义,因此[^\w']
是[\w']
的倒数,它将与字母数字/下划线/撇号匹配。
答案 2 :(得分:0)
这里的答案不起作用,因为“引用的”单词不会被删除撇号。
对我有用的是
re.split(r"\W'+|^'+|'+\W|'$|[^\w']+", text)
即。删除:
非单词OR后的撇号 撇号在行开始或 非词OR之前的撇号 当前的解决方案