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

dem*_*mos 1 python parsing text-processing

我正在写一段代码,它将从正在运行的文本中提取单词.此文本可以包含\ r,\n等分隔符,这些分隔符可能位于文本中.

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

Ale*_*lli 5

假设您对"单词"的定义与正则表达式模块(re)(即字母,数字和下划线)的定义一致,则很容易:

import re
fullwords = re.findall(r'\w+', thetext)
Run Code Online (Sandbox Code Playgroud)

哪个thetext是有问题的字符串(例如,来自一个打开f.read()文件对象的文件f,如果你从中获取文本的话).

如果你以不同的方式定义单词(例如,你想要包含撇号,例如"它的"将被视为"一个单词"),那就不难了 - 只需用作findall适当模式的第一个参数,例如r"[\w']+"撇号案件.

如果你需要非常非常复杂(例如,处理不会在单词之间使用中断的语言),那么问题突然变得更加困难,你需要一些像nltk这样的第三方软件包.