迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

如何在 Python 中检查字符串是否包含子字符串

作者:迹忆客 最近更新:2023/02/27 浏览次数:

我们经常需要检查给定的字符串是否包含特定的子字符串。我们将在此处列出一些方法,然后比较运行时间性能以选择最有效的方法。

我们将字符串- It is a given string 作为给定字符串,given 是要检查的子字符串。

in 操作符是成员资格检查运算符。x in y 评估为 True 如果 xy 的成员,或者换句话说,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

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何从 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()函数。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便