Python字符串查找:find、rfind和index方法详解
Python字符串查找:find、rfind和index方法详解
在Python中,我们经常需要查找字符串中某个子字符串的位置。Python提供了三种常用的字符串查找方法:find()、rfind() 和 index()。
本文将详细介绍这三种方法的语法、用法以及区别,并通过实例演示如何使用它们来查找子字符串在字符串中的位置。
1. find() 方法
find() 方法用于查找子字符串在字符串中第一次出现的位置,如果找到则返回子字符串的起始索引,否则返回 -1。
语法:
str.find(sub[, start[, end]])
参数说明:
str:要查找的字符串sub:要查找的子字符串start(可选):开始查找的索引位置,默认为 0end(可选):结束查找的索引位置,默认为字符串的长度
示例:
s = 'apple,peach,banana,peach,pear'
# 查找 'peach' 第一次出现的位置
print(s.find('peach')) # 输出:6
# 从索引 7 开始查找 'peach' 第一次出现的位置
print(s.find('peach', 7)) # 输出:12
# 在索引 7 到 20 的范围内查找 'peach' 第一次出现的位置
print(s.find('peach', 7, 20)) # 输出:-1 (未找到)
2. rfind() 方法
rfind() 方法用于查找子字符串在字符串中最后一次出现的位置,如果找到则返回子字符串的起始索引,否则返回 -1。
语法:
str.rfind(sub[, start[, end]])
参数说明:
str:要查找的字符串sub:要查找的子字符串start(可选):开始查找的索引位置,默认为 0end(可选):结束查找的索引位置,默认为字符串的长度
示例:
s = 'apple,peach,banana,peach,pear'
# 查找 'p' 最后一次出现的位置
print(s.rfind('p')) # 输出:21
3. index() 方法
index() 方法与 find() 方法类似,也是用于查找子字符串在字符串中第一次出现的位置。区别在于,如果使用 index() 方法查找子字符串不存在时,会抛出 ValueError 异常。
语法:
str.index(sub[, start[, end]])
参数说明:
str:要查找的字符串sub:要查找的子字符串start(可选):开始查找的索引位置,默认为 0end(可选):结束查找的索引位置,默认为字符串的长度
示例:
s = 'apple,peach,banana,peach,pear'
# 查找 'p' 第一次出现的位置
print(s.index('p')) # 输出:0
# 查找 'pe' 第一次出现的位置
print(s.index('pe')) # 输出:1
# 查找不存在的子字符串,抛出 ValueError 异常
print(s.index('xyz')) # 抛出 ValueError: substring not found
总结
find()和rfind()方法都返回子字符串的起始索引,区别在于find()查找第一次出现的位置,而rfind()查找最后一次出现的位置。index()方法与find()方法类似,但如果找不到子字符串,index()方法会抛出ValueError异常,而find()方法会返回 -1。
希望本文能够帮助你更好地理解和使用 Python 字符串查找方法!
原文地址: http://www.cveoy.top/t/topic/f2Ed 著作权归作者所有。请勿转载和采集!