如何在 Python 中检查字符串是否包含子字符串
我们经常需要检查给定的字符串是否包含特定的子字符串。我们将在此处列出一些方法,然后比较运行时间性能以选择最有效的方法。
我们将字符串- It is a given string
作为给定字符串,given
是要检查的子字符串。
in
操作符是成员资格检查运算符。x in y
评估为 True
如果 x
是 y
的成员,或者换句话说,y
包含 x
。
如果字符串 y
包含子字符串 x
,则返回 True
。
>>> "given" in "It is a given string"
True
>>> "gaven" in "It is a given string"
False
import timeit
def in_method(given, sub):
return sub in given
print(min(timeit.repeat(lambda: in_method('It is a given string', 'given')))
0.2888628
find
是一个内置的 string
方法 - str.find(sub)
。
假如 sub
被发现,它返回 str
的最小的索引,否则如果 sub
没有找到的话,返回 -1
。
>>> givenStr = 'It is a given string'
>>> givenStr.find('given')
8
>>> givenStr.find('gaven')
-1
import timeit
def find_method(given, sub):
return given.find(sub)
print(min(timeit.repeat(lambda: find_method('It is a given string', 'given'))))
0.42845349999999993
str.index(sub)
是一个 string
内置方法,该方法返回找到 sub
位置的 str
最低索引。如果找不到 sub
子字符串,它将报错 ValueError
。
>>> givenStr = 'It is a given string'
>>> givenStr.index('given')
8
>>> givenStr.index('gaven')
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
givenStr.index('gaven')
ValueError: substring not found
import timeit
def find_method(given, sub):
return given.find(sub)
print(min(timeit.repeat(lambda: find_method('It is a given string', 'given'))))
0.457951
相关文章
如何从 Python 中的字符串中删除第一个字符
发布时间:2023/04/11 浏览次数:118 分类:Python
-
在Python中,要删除一个字符串的第一个字符,可以使用切片操作或者字符串方法。 方法一:使用切片操作 在Python中,可以使用切片操作来获取字符串的子字符串。切片操作使用方括号
如何从 Python 中的字符串中删除特殊字符
发布时间:2023/04/11 浏览次数:272 分类:Python
-
在Python中,可以使用多种方法来删除字符串中的特殊字符。在本文中,我们将介绍一些最常见的方法。 方法一:使用replace()方法删除特殊字符 可以使用字符串的 replace() 方法来删除字符
如何在 Python 中将字符串转换为双精度
发布时间:2023/04/11 浏览次数:191 分类:Python
-
在Python中,将字符串转换为双精度浮点数(double)可以使用内置的 float() 函数。在本文中,我们将介绍如何使用 float() 函数将字符串转换为双精度浮点数,并讨论一些相关问题。 使用
Python 中的字符串大写
发布时间:2023/03/24 浏览次数:65 分类:Python
-
在 Python 中,可以使用 2 种主要方法将字符串大写,即 upper()和 capitalize()函数。