Python 3.8从零开始学
上QQ阅读APP看书,第一时间看更新

4.3.4 find()方法

find()方法用于检测字符串中是否包含指定的子字符串。find()方法的语法格式如下:

str.find(str, beg=0, end=len(string))

此语法中,str代表指定检索的字符串,beg代表开始索引的下标位置,默认为0;end代表结束索引的下标位置,默认为字符串的长度。返回结果为匹配字符串所在位置的最左端索引下标值,如果没有找到匹配字符串,就返回-1。

该方法的使用示例如下:

>>> say='stay hungry,stay foolish'
>>> print(f'say字符串的长度是:{len(say)}')
say字符串的长度是:24
>>> say.find('stay')
0
>>> say.find('hun')
5
>>> say.find('sh')
22
>>> say.find('python')
-1

由输出结果可以看到,使用 find()方法时,如果找到字符串,就返回该字符串所在位置最左端的索引下标值,若字符串的第一个字符是匹配的字符串,则find()方法返回的索引下标值是0,如果没找到字符串,则返回-1。

find()方法还可以接收起始索引下标参数和结束索引下标参数,用于表示字符串查找的起始点和结束点,例如:

>>> say='stay hungry,stay foolish'
>>> say.find('stay',3)          #提供起点
12
>>> say.find('y',3)              #提供起点
3
>>> say.find('hun',3)             #提供起点
5
>>> say.find('stay',3,10)          #提供起点和终点
-1
>>> say.find('stay',3,15)          #提供起点和终点
-1
>>> say.find('stay',3,18)          #提供起点和终点
12

由输出结果可以看到,find()方法可以只指定起始索引下标参数查找指定子字符串是否在字符串中,也可以指定起始索引下标参数和结束索引下标参数查找子字符串是否在字符串中。

在实际项目应用中,find()方法的使用不是很多,一般在想要知道某个字符串在另一个字符串中的索引下标位置时使用较多,其余情形使用比较少。