我在比较文本中的单词时遇到问题-这意味着如果文本中包含一个单词,则应打印出来。
问题是我要说的是我有一个单词“ lo”-我的文字是=“大家好,我叫Stackoverflow”-它会打印出整个文本,其中有一个lo “ hello”和“ stackoverflow”中的文本
我的问题是,每当我要搜索诸如“ lo”之类的单词时,应该如何将其视为一个单词,如果该单词等包含诸如“ hello”或“ stackoverflow”之类的单词,则不打印出来“-仅打印出带有单词“ lo”的字样吗?
keywords = ["Lo"]
for text in keywords:
if text in text_roman():
print("Yay found word")
答案 0 :(得分:1)
将字符串拆分为单词,然后测试每个单词中的子字符串。
For word in s.split():
If q in word:
Print word
答案 1 :(得分:0)
使用string.find()
。它返回您要查找的子字符串的索引,如果找不到则返回-1
。因此,您可以应用if
语句来检查它是否是子字符串。
s='Hello there Stack!'
if (s.find('llo')!=-1):
print('String found')
希望这对您有帮助!
答案 2 :(得分:0)
您可以执行此操作,但是有... 400个边缘情况会导致此问题。
text = "This is my text"
keywords = ["Lo"]
if len(set(text.split()).intersection(set(keywords))) > 0:
print("Yes")
答案 3 :(得分:0)
最直接的方法可能是使用正则表达式。您可以使用正则表达式here并弄清楚如何在python here中实现它们。
import re
target_strings = ["lo", "stack", "hell", "cow", "hello", "overf"]
for target in target_strings:
re_target = re.compile(r"\b({})\b".format(target), flags=re.IGNORECASE)
if re.search(re_target, "Hello stack overflow lo"):
print(target)
>>> lo
>>> stack
>>> hello