是否比
更简单if var1 in string or var2 in string:
我试试:
if (var1 or var2) in string:
但那不起作用......
提前致谢!
答案 0 :(得分:5)
您可以使用any:
if any(x in string for x in (var1, var2))
<强>任何(迭代)强> 如果iterable的任何元素为true,则返回True。如果iterable为空,则返回False
正如在两个vars的评论中指出的那样,你自己的解决方案就像你将得到的一样简单,但在我看来,如果你有3个或更多的vars,那么any
是一个更好,更简洁的解决方案。
答案 1 :(得分:-2)
如果您愿意使用正则表达式,
import re
re.search(r'('+v1+'|'+v2+')',s)
这对你的解决方案来说看起来并不优雅,但是如果你有很多子字符串要搜索它会很有用:
import re
v = ['abc', 'drf', 'nasd', 'djk', 'po2-pe']
re.search(r'('+'|'.join(v)+')',s)