如何解决Python - 在字符串的单词列表中搜索单词的匹配项
text = "The best language in the word is $python at Now"
以及要搜索的单词列表:
keywords = ["PYTHON","PHP","JAVA","COBOL","CPP","VB","HTML"]
如何将“PYTHON”作为结果?
解决方法
这段代码对我有用,但你必须去掉 $
之前的 python
:
text = "The best language in the word is python at now"
keywords = ["PYTHON","PHP","JAVA","COBOL","CPP","VB","HTML"]
upper_text = text.upper()
ar_text = upper_text.split()
for word in keywords:
if word in ar_text:
print(word)
,
在 python 中,您可以使用 in
运算符轻松检查一个字符串是否包含另一个字符串。
只需检查每个关键字的字符串,并记住大小写相同。
您可以使用一行
[print(x) for x in keywords if x in text.upper()]
或多个
for x in keywords:
if x in text.upper():
print(x)
在您的情况下,以下示例将输出 PYTHON
:
text = "The best language in the word is $python at now"
keywords = ["PYTHON","HTML"]
[print(x) for x in keywords if x in text.upper()] #PYTHON
祝你有美好的一天。
编辑
正如 Malo 指出的那样,我可能会更好地将输出传递给变量,然后再打印出来。
text = "The best language in the word is $python at now"
keywords = ["PYTHON","HTML"]
matches = [x for x in keywords if x in text.upper()]
for x in matches: print(x) # PYTHON
,
这将使用 find 来检查字符串中是否有任何列表项(不区分大小写,因为这是您要问的):
results = []
for keyword in keywords:
if text.lower().find(keyword.lower()) != -1:
results.append(keyword)
print(results)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。