我正在编写一段代码,用于从运行的文本中提取单词。此文本可以包含文本中可能存在的分隔符,如\r、\n 等。
我想丢弃所有这些分隔符,只提取完整的单词。我怎样才能用 Python 做到这一点?任何可用于在 python 中处理文本的库?
最佳答案
假设你对“word”的定义与正则表达式模块(re
)一致,即字母、数字和下划线,很简单:
import re
fullwords = re.findall(r'\w+', thetext)
其中 thetext
是有问题的字符串(例如,来自文件对象 f
的 f.read()
打开以供读取,如果这是您获取文本的来源)。
如果您以不同的方式定义单词(例如,您想要包含撇号,因此例如“it's”将被视为“一个单词”),这并不难——只需用作 findall< 的第一个参数
适当的模式,例如r[\w']+"
表示撇号大小写。
如果您需要非常、非常复杂(例如,处理在单词之间不使用中断的语言),那么问题突然变得更加困难,您将需要一些第三方包喜欢nltk .
关于python - 使用 Python 在运行文本中拆分单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3172236/