我正在创建一个reddit bot,用于在评论中搜索特定单词。让我说我扫描“美国”这个词,我只想让它发现美国是一个独立的词(我不确定这个词是什么)。如果有人说“美国人”,我希望机器人忽略它。
words_to_match = ['america']
for comment in comments:
comment_text = comment.body.lower()
isMatch = any(string in comment_text for string in words_to_match)
这是我到目前为止所做的。
编辑:实际上,我刚刚意识到我可以制作一个新的单词列表,至少对于这个特定的机器人来说,这是一个值得忽略的单词。
words_to_ignore = ['american']
答案 0 :(得分:1)
您想要搜索可以使用re.findall()
的单词data = '''
I'm creating a reddit bot that searches for a specific word in comments.
Lets say i scan for the word "america", i only want it to find america as
a standalone word (I'm not sure what the word for this is). If someone says
"american" i want the bot to ignore it.
'''
def is_match(st):
# checks if word America, regardless of case, appears in
# text as a standalone word
import re
if re.findall(r'\bamerica\b', st, flags=re.IGNORECASE):
return True
else:
return False
print(is_match(data))
True