Python字符串的常用操作 — 查询(find、index、count)

字符串查询

就是查找子串在字符串中的位置和出现的次数。

find()查找子串第一次出现的位置,若存在,返回子串开始的位置下标;否则返回-1(从左往右查找)
rfind()查找子串最后一次出现的位置,若存在,返回子串开始的位置下标;否则返回-1(从左往右查找)
index查找子串第一次出现的位置,若存在,则返回子串开始的位置下标;否则抛出异常ValueError(从左往右查找)
rindex()查找子串最后一次出现的位置,若存在,则返回子串开始的位置下标;否则抛出异常ValueError(从左往右查找)
count()返回指定子串在字符串中出现的次数。不存在则返回0,不会报错

1、find()/rfind()(建议使用这个)

find() :从左往右,查找子串第一次出现的位置,若存在,返回子串开始的位置下标;否则返回-1

rfind() :从左往右,查找子串最后一次出现的位置,若存在,返回子串开始的位置下标;否则返回-1

1)语法

str_name.find(sub_str[,start,end]) —> 字符串序列.count(子串[,开始位置,结束位置]) start和end可以省略。

2)实例

str1 = 'hello,python and world and java'
print(str1.find('and')) #13
print(str1.rfind('and'))    #23

print(str1.find('o'))   #4
print(str1.find('o',15,25)) #18   查找[15,25]之间是否存在'o'

print(str1.find('ok'))  #-1  'ok'不存在,所以返回-1
print(str1.rfind('ook'))    #-1  'ook'不存在,所以返回-1

2、index()/rindex()

index():从左往右,查找子串第一次出现的位置,若存在,则返回子串开始的位置下标;否则抛出异常ValueError

rindex():从左往右,查找子串最后一次出现的位置,若存在,则返回子串开始的位置下标;否则抛出异常ValueError

1)语法

str_name.index(sub_str[,start,end]) —> 字符串序列.count(子串[,开始位置,结束位置])

2)实例

str1 = 'hello,python and world and java,hello'

print(str1.index('and'))    #13
print(str1.rindex('lo'))    #35
print(str1.index('o',15,25))    #18

print(str1.index('ok'))     #ValueError: substring not found
print(str1.rindex('ok'))    #ValueError: substring not found

3、count()

count():返回指定子串在字符串中出现的次数。不存在则返回0,不会报错

1)语法

str_name.count(sub_str[,start,end]) —> 字符串序列.count(子串[,开始位置,结束位置])

2)实例

str1 = 'hello,python and world and java,hello'

print(str1.count('and'))    #2
print(str1.count('o'))      #4
print(str1.count('o',10,25))    #2

print(str1.count('ok'))     #0
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容