你得到了你想要的:每个单词都出现在目标字符串中的短语。因为“java”和“Developer”都出现在目标中,所以你的结果中出现了“java Developer”。
如果你只想要精确的短语匹配,那么简化你对此的搜索:ans = [i for i in categories if i in str]
我相信这解决了你的问题。
输入:categories = [
'java', 'java developer', 'hadoop', 'Hadoop kafka',
'html developer', 'hibernate', 'text',
'big data developer', 'data stage developer']
str = "looking for hadoop developer with java knowledge"
输出:['java', 'hadoop']
如果我们改变strstr = "looking for java developer with hadoop knowledge"
那么输出会更改为['java', 'java developer', 'hadoop']