我有这个代码从正则表达式字符串中删除所有标点符号:
import regex as re
re.sub(ur"\p{P}+", "", txt)
Run Code Online (Sandbox Code Playgroud)
如何更改它以允许连字符?如果你能解释一下你是如何做到的,那就太好了.我明白在这里,如果我错了,请纠正我,在标点后加上任何东西.
我正在使用下面的“最快”方法从字符串中删除标点符号:
text = file_open.translate(str.maketrans("", "", string.punctuation))
Run Code Online (Sandbox Code Playgroud)
但是,它从标记中删除了所有标点符号,包括撇号,例如shouldn't将其变为shouldnt。
问题是我使用 NLTK 库作为停用词,而标准停用词不包含此类不带撇号的示例,而是包含如果我使用 NLTK 标记生成器来分割文本时 NLTK 会生成的标记。例如,shouldnt包含的停用词是shouldn, shouldn't, t。
我可以添加额外的停用词或从 NLTK 停用词中删除撇号。但这两种解决方案在某种程度上似乎都不“正确”,因为我认为在进行标点符号清理时应该保留撇号。
有没有办法在快速标点符号清理时保留撇号?