Python 基础教程

Python 高级教程

Python 相关应用

Python 笔记

python 如何判断字符串中是否包含指定子字符串

Python 笔记 Python 笔记


开发者在 python 操作字符串时,经常需要判断字符串中是否包含指定子字符串,这里给大家介绍常用的几种方法。

几种方式

in 运算符

最简单的方式,也是最常用的方法是用 in 运算符,示例如下:

if 'substring' in some_string:
    print(some_string)

in 运算符接受两个参数,运算逻辑是左参数是否包含在右参数中,如果包含返回 True,否则返回 False

find() 和 rfind() 函数

利用 str 模块的 find()rfind() 函数。

find 表示从左向右搜索子字符串,rfind 表示从右向左搜索子字符串,如果匹配成功,两者都返回对应的位置(索引),否则返回 -1。

string = "This is a string"

print('find', string.find('is'))

print('rfind', string.rfind('is'))

print('find', string.find('int'))

上述示例输出如下:

find 2
rfind 5
find -1

当然,上述两个函数也可以指定搜索的范围,即指定起始索引位置和结束索引位置。

index() 和 rindex() 函数

和 find 和 rfind 函数类似,内置 str 模块也提供了 index()rindex() 函数,只不过在找不到子字符串的时候会报一个 ValueError 的异常。

string = "This is a string"

print('find', string.index('is'))

print('rfind', string.rindex('is'))

上述示例输出如下:

find 2
rfind 5

若是不存在的子字符串,它会报 ValueError:

string = "This is a string"

print('find', string.index('int'))

报错信息如下:

Traceback (most recent call last):
  File "/xxxx/xxx/xx.py", line 12, in <module>
    print('find', string.index('int'))
ValueError: substring not found