1.子字符串位置搜索count(sub[, start[, end]])
主要对指定字符串搜索是否具有给定的子字符串sub,若具有则返回出现次数。
strat与end代表搜索边界,若无写则代表全字符串搜索。
代码示例:
import string
# 全部字符串内 搜索qwe 出现的次数
print("qwertasdqwezxcqwe".count("qwe"))
# 由于字符串从0开始计数,1为字符串第二个,相当于从w开始
print("qwertasdqwezxcqwe".count("qwe",1))
# 从字符串第 2个开始到第15个截止,共出现qwe的次数
print("qwertasdqwezxcqwe".count("qwe",1,14))
运行结果:
2.字符串开始与结尾判断
startswith(prefix[, start[, end]])
endswith(suffix[, start[, end]])
两个函数作用相同,判断函数的开始,或者末尾的字符串是否为指定字符串
与之前的搜索相同,可以给字符串加边界,若无则为全字符串搜索
两个函数都属于判断函数,返回结果为True与False
强调:这里的不仅可以输入子字符串,还可以输入元组,若为元组时候只要有一个成真即为True
代码示例:
import string
# 搜索开头位置为qwe 符合条件,为True
print("qwertasdqwezxcqwe".startswith("qwe"))
# 开头位置为字符串下标为1开始,也就是说开头为wer与qwe不同为False
print("qwertasdqwezxcqwe".startswith("qwe",1))
# 结尾位置为qwe符合条件 为True
print("qwertasdqwezxcqwe".endswith("qwe"))
# 从下标为15开始,判断结尾位置为qwe是否符合条件,为False
print("qwertasdqwezxcqwe".endswith("qwe", 15))
运行结果:
3.字符串位置锁定find与index函数
find(sub[, start[, end]]) 返回第一个子字符串的下标,若无则为-1
rfind(sub[, start[, end]])返回最右边的第一个子字符串的下标,若无则为-1
index(sub[, start[, end]]) 返回第一个子字符串的下标,若无则为报错
rindex(sub[, start[, end]])返回最右边的第一个子字符串的下标,若无则报错
从传参可以看出,查询位置函数也可以限定边界,使用方法同上函数
代码示例:
import string
s="qweraqwesfgzqweop"
print(s.find("qwe"))
print(s.rfind("qwe"))
print(s.index("qwe"))
print(s.rindex("qwe"))
运行结果:
这里需要注意:
以上情况均为找到对应子字符串,若未找到:find找不到返回-1 index找不到会报错