python - 使用 Python 在运行文本中拆分单词?

标签 python parsing text-processing

我正在编写一段代码,用于从运行的文本中提取单词。此文本可以包含文本中可能存在的分隔符,如\r、\n 等。

我想丢弃所有这些分隔符,只提取完整的单词。我怎样才能用 Python 做到这一点?任何可用于在 python 中处理文本的库?

最佳答案

假设你对“word”的定义与正则表达式模块(re)一致,即字母、数字和下划线,很简单:

import re
fullwords = re.findall(r'\w+', thetext)

其中 thetext 是有问题的字符串(例如,来自文件对象 ff.read() 打开以供读取,如果这是您获取文本的来源)。

如果您以不同的方式定义单词(例如,您想要包含撇号,因此例如“it's”将被视为“一个单词”),这并不难——只需用作 findall< 的第一个参数 适当的模式,例如r[\w']+" 表示撇号大小写。

如果您需要非常、非常复杂(例如,处理在单词之间不使用中断的语言),那么问题突然变得更加困难,您将需要一些第三方包喜欢nltk .

关于python - 使用 Python 在运行文本中拆分单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3172236/

相关文章:

linux - 使用 -v 选项反转多行 grep 结果,但 grep -A 不起作用

python - 将 python (django) 数据序列化为 javascript

python - django迁移错误,python3中的sqlite版本

Java 识字文本单词解析正则表达式

c++ - 语义操作(使用 _val 和 _attr)如何影响 %= 和 x3::rule 的 force_attribute=true 的规则定义?

text-processing - Java 文本预处理和清理

python - 我应该为每个项目创建一个虚拟环境吗?

python - 使用另一个数组中的 ID 对一个数组执行基于 ID 的平均 - NumPy

PHP DOM - 剥离 span 标签,留下它们的内容

javascript - C# Regex 性能纯相对 JS