首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从string python中打印完全匹配的单词

如何从string python中打印完全匹配的单词
EN

Stack Overflow用户
提问于 2018-07-27 02:49:55
回答 1查看 39关注 0票数 0
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" 
ans = [i for i in categories 
          if all([j in str.split() for j in i.split()])]

输出:

['java','java developer','hadoop']

不应打印“'java”。

我正在寻找完全匹配的单词和短语。真正的类别列表包含7k个元素。

EN

回答 1

Stack Overflow用户

发布于 2018-07-27 03:02:22

毫不奇怪,你得到了你想要的东西:每个单词都出现在目标字符串中的任何地方的短语。因为"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']

如果我们更改str

str = "looking for java developer with hadoop knowledge" 

输出将更改为

['java', 'java developer', 'hadoop']

换句话说,我最初的帖子解决了你的原始问题和扩展问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51545714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档