首页 > 解决方案 > 一次在流中搜索多个字符串而不执行“text1”或“text2”或“text3”或

问题描述

我想知道 python 中是否有一种方法可以一次在流中搜索多个字符串,而不会将它们全部塞入一行。我可以把它们放在某种列表中,然后用它代替一长串“或”吗?

if re.search("japan" or "japanese" or "nihon" or "nippon", str(comment.body).lower(), re.IGNORECASE):
      return True

这就是我现在所拥有的,我只是为了让它看起来更整洁,而不是搜索我能​​想到的所有日本变体。谢谢你的帮助!

标签: pythonstringbots

解决方案


如果您更喜欢它的外观,您可以使用列表理解来执行此操作

search_terms = ["japan", "japanese", "nihon", "nippon"]
if any([x in str(comment.body).lower() for x in search_terms]):
    return True

推荐阅读