tokens = re.findall(r'\w+', -6ren">
gpt4 book ai didi

python - 与 Python 中包含空格的术语一起使用的标记化?

转载 作者:太空宇宙 更新时间:2023-11-04 03:34:29 27 4
gpt4 key购买 nike

我在 Python 中使用正则表达式标记文本的标准方法是:

> text = "Los Angeles is in California"
> tokens = re.findall(r'\w+', text)
> tokens
['Los','Angeles','is','in','California']

如果我想在上面的文本中找到名字 Los Angeles 就会出现问题。

在大海捞针中找到包含空白的针的最佳方法是什么?

我问的是一个一般性问题,因为该解决方案也适用于 United States of America 和不包含空格的针。

例如,一个简单的 if "Los Angeles"in text(匹配)不会执行,因为 if "for"in text 也会返回一个匹配项。但我只是在寻找完整的单词(匹配 for 而不是 California)。

最佳答案

我建议使用像 NLTK 这样的文本解析器对于这样的任务。

但对于这种情况,您可以使用以下正则表达式:

>>> re.findall(r'\b([A-Z]\w+ [A-Z]\w+)|(\w+)\b',text)
[('Los Angeles', ''), ('', 'is'), ('', 'in'), ('', 'California')]

正则表达式 r'([A-Z]\w+ [A-Z]\w+)|(\w+)' 将匹配 2 组,第一个是一对单词,其元素包含大写单词!第二个将匹配一个词!

关于python - 与 Python 中包含空格的术语一起使用的标记化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29755851/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com