Python bot,试图扫描特定的独立单词

时间:2015-10-21 22:15:09

标签: python bots

我正在创建一个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']

1 个答案:

答案 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