Python-在字符串中的单词列表中搜索匹配的单词

Python-在字符串中的单词列表中搜索匹配的单词,python,string-matching,Python,String Matching,我有这样一个字符串: text = "The best language in the word is $python at now" 以及要搜索的单词列表: keywords = ["PYTHON","PHP","JAVA","COBOL","CPP","VB","HTML"] 如何使用PYTHON?这段代码对我来说很有用,但您必须

我有这样一个字符串:

text = "The best language in the word is $python at now"
以及要搜索的单词列表:

keywords = ["PYTHON","PHP","JAVA","COBOL","CPP","VB","HTML"]

如何使用PYTHON?

这段代码对我来说很有用,但您必须在PYTHON之前去掉$


在python中,您可以通过使用In运算符轻松检查字符串是否包含另一个字符串

只需检查每个关键字的字符串,并记住使大小写相同

你可以用一行

[如果x在text.upper中,则在关键字中为x打印x] 或多个

对于关键字中的x: 如果text.upper中有x: printx 在您的情况下,以下示例将输出PYTHON:

text=目前世界上最好的语言是$python 关键词=[PYTHON、PHP、JAVA、COBOL、CPP、VB、HTML] [printx for x in关键字如果x in text.upper]PYTHON 祝你今天愉快

编辑

正如Malo所指出的,我最好将输出传递给一个变量,然后打印它

text=目前世界上最好的语言是$python 关键词=[PYTHON、PHP、JAVA、COBOL、CPP、VB、HTML]
matches=[x代表关键字中的x,如果x代表文本中的x.upper] 对于匹配中的x:printx-PYTHON
这将使用find检查是否有任何列表项位于不区分大小写的字符串中,因为这是您要问的问题:

results = []
for keyword in keywords:
    if text.lower().find(keyword.lower()) != -1:
        results.append(keyword)

print(results)

$python是如何与python相匹配的?@SreeramTP——显然,即使是二进制计算也认识到python是世界上最好的语言word@SreeramTP因为单词前面可以有一个符号,所以您可以这样使用:res=[elt for elt in keywords if elt.lower in text.lower];printres,其中res将是所有匹配单词的列表。如果您没有拆分上\u文本,则如果上\u文本中的单词足够好,则不需要从字符串中删除任何内容。仅ar_文本不需要拆分。printx返回None。尝试执行以下命令:lst=[printx for x in keywords if x in text.upper];printlst[x代表关键字中的x,如果x代表文本中的x.upper]直接返回匹配单词的列表。
results = []
for keyword in keywords:
    if text.lower().find(keyword.lower()) != -1:
        results.append(keyword)

print(results)