【发布时间】:2019-06-23 05:30:37
【问题描述】:
我对 Python 比较陌生,对 nltk 和正则表达式也很陌生。我已经搜索了指导,但没有弄清楚。我只是想删除文本中整数(应该始终是整数)之后的任何 x 或 X,最终只得到数字。我有代码可以在删除 X 或 x 后执行我需要它执行的操作,所以现在我尝试添加到代码中以从数字中删除 x 或 X,但不是普通文本(下面的退出和矩阵之类的词) .
例如,如果我有一个文本字符串:“这是一个美好的一天,710x 只鸟离开它们的栖息地并飞过头顶。其中 130X 俯冲下来落在草地上,而其中 21X 被 7 名猎人射中。 9x 鸟消失在矩阵中。剩下的 550x 鸟继续飞走。'
我想要这个:
'那是美好的一天,710 只鸟离开了它们的栖息地,飞到了头顶。其中130人俯冲下来落在草地上,其中21人被7名猎人射杀。九只鸟消失在矩阵中。剩下的 550 只鸟继续飞走。'
所以我不知道这是否最好由 regex(正则表达式)或 nltk(自然语言工具包)或只是一些 if 语句以某种方式处理。我从我从中提取文本的 pdf 文件中标记了所有可能超过 20,000 到 30,000 个标记/单词的文本,但我很乐意在仍然是一个巨大的字符串时或在它们被制成标记之后删除那些 x。对我来说无所谓。非常感谢您的帮助...
【问题讨论】:
-
绝对是在 nltk 上的正则表达式(无需核弹苍蝇)。查找
re.sub。