str.find(sub[, start[, end]]):
查找子字符串在字符串中出现的第一个位置,start和end指定一个查找范围,未找到返回-1。
print('0123234'.find('23')) -->2
print('0123234'.find('23', 1)) -->2
注意事项:
(1)find查找的是子字符串在全字符串中出现的第一个位置,匹配到字符串就结束查找,不管后面还有没有匹配的字符串。
(2)find查找的是子字符串在全字符串出现的第一个位置,而不是指定切片中的第一个位置。
(3)如果仅想判断子字符串是否在某一字符串中,用in判断符即可,无需find。
str.rfind(sub[, start[, end]]):
跟find方法一样,返回指定子串的index位置,只不过rfind从字符串的最右边开始查找,找不到时返回-1。
注意:从最右边开始查找,但find位置却是从原字符串的最左边开始算的。如:
print('ABCDEEF'.find('E')) -->4
#从最左边开始查找,从A到第一个D后面的E结束,返回索引值4
print('ABCDEEF'.rfind('E')) -->5
#从最右边开始查找,从A到第一个F前面的E结束,返回索引值5

3万+

被折叠的 条评论
为什么被折叠?



