在单词列表中查找单词的出现

2024-05-14 12:04:28 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
Check if multiple strings exist in another string

假设我有一个允许的单词/短语列表:

'Stack'
'Overflow'
'Stack Overflow'
'Stack Exchange'
'Exchange'

以及要分析的以下文本:

^{pr2}$

我想得到允许列表中的单词列表:

  • '堆栈溢出'
  • '堆叠'
  • '交换'

达到这个结果的最佳方法是什么?在

我将使用的允许列表至少有1000个单词/短语。在


Tags: in列表stringifexchangestackcheckanother
3条回答

把单词排成一个单子,用过之后

def intersect(x, y):
    return list(set(x) & set(y))
word_list_text=string.split(text)
words_found={}
words_found=intersect(word_list_text, words)

如果你的短语是:

phrases = ['Stack','Overflow','Stack Overflow','Stack Exchange','Exchange']

则文本为:

^{pr2}$

然后可以执行以下操作:

found_words = [word for word in phrases if word in text]

如果其他短语不在课文中,这将消除它们。不过,除了指定的值之外,这也会溢出。在

让单词成为你想要搜索的单词列表和段落(信息的给定段落) 你想在哪里搜索单词

for i in words:
    if i in paragraph:
        print i

这段代码对你问题中的段落和单词很好,但是请注意,如果我们有stackoverflow和没有堆栈(单独),这段代码会打印堆栈,这是一个优点也是一个缺点,取决于您的目的, 如果你想把它写在单个单词上,就用这个

^{pr2}$

相关问题 更多 >

    热门问题