我正在寻找Python中的string.contains或string.indexof方法。

我想做的是:

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

当前回答

所以很明显,矢量比较没有类似的东西。一种明显的Python方法是:

names = ['bob', 'john', 'mike']
any(st in 'bob and john' for st in names) 
>> True

any(st in 'mary and jane' for st in names) 
>> False

其他回答

以下是您的答案:

if "insert_char_or_string_here" in "insert_string_to_search_here":
    #DOSTUFF

检查是否为假:

if not "insert_char_or_string_here" in "insert_string_to_search_here":
    #DOSTUFF

OR:

if "insert_char_or_string_here" not in "insert_string_to_search_here":
    #DOSTUFF

如果只是子字符串搜索,可以使用string.find(“substring”)。

在查找、索引和插入时,您确实需要稍微小心一些,因为它们是子字符串搜索。换句话说,这:

s = "This be a string"
if s.find("is") == -1:
    print("No 'is' here!")
else:
    print("Found 'is' in the string.")

它将在字符串中打印Found“is”。类似地,如果s中的“is”将求值为True。这可能是你想要的,也可能不是你想要的。

使用in运算符:

if "blah" not in somestring: 
    continue

所以很明显,矢量比较没有类似的东西。一种明显的Python方法是:

names = ['bob', 'john', 'mike']
any(st in 'bob and john' for st in names) 
>> True

any(st in 'mary and jane' for st in names) 
>> False

如果您对某个字符串中的“blah”感到满意,但希望它是一个函数/方法调用,那么您可能可以这样做

import operator

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

Python中的所有运算符或多或少都可以在运算符模块中找到,包括中的。