Python字符串find()
时间:2020-02-23 14:43:25 来源:igfitidea点击:
Python字符串find()方法用于查找字符串中子字符串的索引。
Python字符串find()
find()函数的语法为:
str.find(sub[, start[, end]])
此函数返回在切片s [start:end]中找到子字符串" sub"的字符串中的最低索引。
起始默认值为0,它是一个可选参数。
最终默认值是字符串的长度,它是一个可选参数。
如果未找到子字符串,则返回-1。
当我们想知道子字符串的索引位置时,应该使用find()方法。
为了检查是否存在子字符串,我们可以使用in运算符。
Python字符串find()示例
让我们看一下find()方法的一些简单示例。
s = 'abcd1234dcba' print(s.find('a')) # 0 print(s.find('cd')) # 2 print(s.find('1', 0, 5)) # 4 print(s.find('1', 0, 2)) # -1
Python字符串rfind()
Python字符串rfind()方法类似于find(),不同之处在于搜索是从右向左执行的。
s = 'abcd1234dcba' print(s.rfind('a')) # 11 print(s.rfind('a', 0, 20)) # 11 print(s.rfind('cd')) # 2 print(s.rfind('1', 0, 5)) # 4 print(s.rfind('1', 0, 2)) # -1
查找子字符串的所有索引
Python字符串find()和rfind()返回第一个匹配的索引。
我们可以定义一个自定义函数,以找到其中找到子字符串的所有索引。
def find_all_indexes(input_str, search_str): l1 = [] length = len(input_str) index = 0 while index < length: i = input_str.find(search_str, index) if i == -1: return l1 l1.append(i) index = i + 1 return l1 s = 'abaacdaa12aa2' print(find_all_indexes(s, 'a')) print(find_all_indexes(s, 'aa'))
输出:
[0, 2, 3, 6, 7, 10, 11] [2, 6, 10]