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

我想做的是:

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

当前回答

以下是您的答案:

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

其他回答

可以使用y.count()。

它将返回子字符串在字符串中出现的次数的整数值。

例如:

string.count("bah") >> 0
string.count("Hello") >> 1

您可以使用正则表达式获取引用:

>>> import re
>>> print(re.findall(r'( |t)', to_search_in)) # searches for t or space
['t', ' ', 't', ' ', ' ']

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

import operator

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

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

在Python字符串和列表中

以下是一些关于in方法的有用示例:

>>> "foo" in "foobar"
True
>>> "foo" in "Foobar"
False
>>> "foo" in "Foobar".lower()
True
>>> "foo".capitalize() in "Foobar"
True
>>> "foo" in ["bar", "foo", "foobar"]
True
>>> "foo" in ["fo", "o", "foobar"]
False
>>> ["foo" in a for a in ["fo", "o", "foobar"]]
[False, False, True]

警告列表是可迭代的,in方法作用于可迭代的对象,而不仅仅是字符串。

如果您想以更模糊的方式比较字符串以衡量它们的“相似性”,请考虑使用Levenshtein包

下面是一个说明其工作原理的答案。

所以很明显,矢量比较没有类似的东西。一种明显的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