Python是否有一个字符串'contains'substring方法?
我正在Python中寻找一个string.contains
或string.indexof
方法。
我想要做:
if not somestring.contains("blah"):
continue
您可以使用in
运算符:
if "blah" not in somestring:
continue
如果它只是一个子字符串搜索,你可以使用string.find("substring")
。
你必须与小心一点find
, index
,并in
虽然,因为它们是字符串搜索。 换句话说,这个:
s = "This be a string"
if s.find("is") == -1:
print "No 'is' here!"
else:
print "Found 'is' in the string."
它会Found 'is' in the string.
打印Found 'is' in the string.
同样, if "is" in s:
将评估为True
。 这可能是也可能不是你想要的。
if needle in haystack:
正常使用,正如@Michael所说的那样 - 它依赖于in
运算符,比方法调用更具可读性和更快速度。
如果你确实需要一种方法而不是操作符(例如,做一些奇怪的key=
用于一种非常特殊的类型......),那将是'haystack'.__contains__
。 但是因为你的例子是用在if
,我猜你并不是真正意思你说的;-)。 它不是直接使用特殊方法的好形式(也不可读,也不是有效的) - 它们是用来代替通过委托给它们的运算符和内建函数的。
上一篇: Does Python have a string 'contains' substring method?
下一篇: What does if