【发布时间】:2020-01-23 11:42:04
【问题描述】:
我正在使用以下“最快”的方式从字符串中删除标点符号:
text = file_open.translate(str.maketrans("", "", string.punctuation))
但是,它会从标记中删除所有标点符号,包括撇号,例如 shouldn't 将其转换为 shouldnt。
问题是我将 NLTK 库用于停用词,而标准停用词不包括没有撇号的此类示例,而是具有 NLTK 将生成的标记,如果我使用 NLTK 标记器来拆分我的文本。例如shouldnt 包含的停用词是shouldn, shouldn't, t。
我可以添加额外的停用词或从 NLTK 停用词中删除撇号。但是这两种解决方案在某种程度上似乎都不“正确”,因为我认为在进行标点符号清理时应该留下撇号。
在进行快速标点清理时,有什么方法可以留下撇号吗?
【问题讨论】:
-
为什么不从
string.punctuation中排除撇号? -
我不知道这是可能的,像这样的?
string.punctuation.replace(" ' ", "")