Python是否有一个字符串'contains'substring方法?

我正在Python中寻找一个string.containsstring.indexof方法。

我想要做:

if not somestring.contains("blah"):
   continue

您可以使用in运算符:

if "blah" not in somestring: 
    continue

如果它只是一个子字符串搜索,你可以使用string.find("substring")

你必须与小心一点findindex ,并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 ,我猜你并不是真正意思你说的;-)。 它不是直接使用特殊方法的好形式(也不可读,也不是有效的) - 它们是用来代替通过委托给它们的运算符和内建函数的。

链接地址: http://www.djcxy.com/p/175.html

上一篇: Does Python have a string 'contains' substring method?

下一篇: What does if