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)