Python 检查关键字是否存在于字符串中的任何容量中

Python 检查关键字是否存在于字符串中的任何容量中,python,Python,当我运行此命令时,我希望尽快找到关键字,但不幸的是,这似乎只能进行精确匹配。删除拆分。但在我看来,这将成为现实 例如,如果您想要特定的单词,并且想要避免像snowfall这样的触发器,您可以尝试以下方法: 进口稀土 紧迫性=[尽快,现在,迅速] 测试='患者需要帮助/尽快' words=setre.splitr\W+,测试 如果有紧急情况下的紧急情况: 打印“找到元素” 似乎没有任何简单的解决方案可以拆分patientneeds(没有字符分隔符连接的单词),但这实际上提供了一种非常强大的机制来满

当我运行此命令时,我希望尽快找到关键字,但不幸的是,这似乎只能进行精确匹配。

删除拆分。但在我看来,这将成为现实


例如,如果您想要特定的单词,并且想要避免像snowfall这样的触发器,您可以尝试以下方法:

进口稀土 紧迫性=[尽快,现在,迅速] 测试='患者需要帮助/尽快' words=setre.splitr\W+,测试 如果有紧急情况下的紧急情况: 打印“找到元素”
似乎没有任何简单的解决方案可以拆分patientneeds(没有字符分隔符连接的单词),但这实际上提供了一种非常强大的机制来满足您的需要。

您应该使用正则表达式,并在每个搜索单词的开头和结尾添加一个单词边界\b:

urgency = ["asap", "now", "quickly"]
test = 'the patientneeds help/asap'

if any(elem in test for elem in urgency):
    print('Element Found')
输出:

import re


def is_urgent(sentence):
    urgency = ["asap", "now", "quickly"]
    return any(re.search(r'\b' + urgent_word + r'\b', sentence) for urgent_word in urgency)

tests = ['the patient needs help/asap', 'he needs help asap', 'wait until snowfall']

for test in tests:
    if is_urgent(test):
        print('URGENT:', test)
    else:
        print('Not urgent:', test)
        

分割是多余的。如果你有一个字符串知道,你会认为现在已经找到了吗?Thierrylahuille我真的认为OP需要澄清,也许他想用这个输入来触发。也许吧,但尽管他在紧急列表中列出的每件事我都能感觉到一种紧迫感,但我在建议的测试中没有感觉到,所以我真的很怀疑。@Thierrylahuille是的……我的答案中包括了它
import re


def is_urgent(sentence):
    urgency = ["asap", "now", "quickly"]
    return any(re.search(r'\b' + urgent_word + r'\b', sentence) for urgent_word in urgency)

tests = ['the patient needs help/asap', 'he needs help asap', 'wait until snowfall']

for test in tests:
    if is_urgent(test):
        print('URGENT:', test)
    else:
        print('Not urgent:', test)
        
URGENT: the patient needs help/asap
URGENT: he needs help asap
Not urgent: wait until snowfall