我有一个像substring = ["one","multiple words"]
这样的单词列表,我想从中检查一个句子是否包含这些单词
sentence1 = 'This Sentence has ONE word'
sentence2 = ' This sentence has Multiple Words'
使用任何运算符检查的我的代码:
any(sentence1.lower() in s for s in substring)
即使这个词出现在我的句子中,这也给了我错误的答案。我不想使用正则表达式,因为它对海量数据来说是一个昂贵的操作
还有其他方法吗
我认为你应该颠倒你的顺序:
你是在检查你的子串是否是句子的一部分,而不是你的句子是否是任何子串的一部分
使用此场景
它会给你一个索引作为回报。如果字符串不在那里,它将返回-1
如其他答案中所述,如果要检测子字符串,这将为您提供正确答案:
但是,如果您的目标是查找单词而不是子字符串,则这是错误的。考虑:
单词
"air"
和"hi"
不在句子中,但它仍然返回True
。相反,如果要检查单词,应使用:相关问题 更多 >
编程相关推荐