在字符串中查找符合要求的字符串索引
str = '15 5669 3566 5656'
# 查找出现的第一个符合要求字符串的索引
first_index = str.find('56')
3
# 查找出现的最后一个符合要求字符串的索引
last_index = str.rfind('56')
15
# 查找所有符合要求的字符串索引
all_index = [r.span() for r in re.finditer('56', str)]
[(3, 5), (9, 11), (13, 15), (15, 17)]
备注:
使用re.finditer()查找字符串花费时间约为str.find() 10倍左右,
上述代码re.finditer() 10000次执行约为36ms,str.find()约为2ms
如果对性能要求很高,建议通过循环的方式使用find()方法查找索引