持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天
(一)count()方法
count 方法用于检索指定字符串在另一字符串中出现的次数,如果检索的字符串不存在,则返回 0,否则返回出现的次数。
count 方法的语法格式如下:
str.count(sub[,start[,end]])
此方法中,各参数的具体含义如下:
-
str:表示原字符串;
-
sub:表示要检索的字符串;
-
start:指定检索的起始位置,也就是从什么位置开始检测。如果不指定,默认从头开始检索;
-
end:指定检索的终止位置,如果不指定,则表示一直检索到结尾。
【例 1】检索字符串“c.biancheng.net”中“.”出现的次数。
str = "c.biancheng.net"
str.count('.')
2
【例 2】
str = "c.biancheng.net"
str.count('.',1)
2
str.count('.',2)
1
前面讲过,字符串中各字符对应的检索值,从 0 开始,因此,本例中检索值 1 对应的是第 2 个字符‘.’,从输出结果可以分析出,从指定索引位置开始检索,其中也包含此索引位置。
【例 3】
str = "c.biancheng.net"
str.count('.',2,-3)
1
str.count('.',2,-4)
0
(二) find() 方法
find() 方法用于检索字符串中是否包含目标字符串,如果包含,则返回第一次出现该字符串的索引;反之,则返回 -1。
find() 方法的语法格式如下:
str.find(sub[,start[,end]])
此格式中各参数的含义如下:
-
str:表示原字符串;
-
sub:表示要检索的目标字符串;
-
start:表示开始检索的起始位置。如果不指定,则默认从头开始检索;
-
end:表示结束检索的结束位置。如果不指定,则默认一直检索到结尾。
【例 1】用 find() 方法检索 “c.biancheng.net” 中首次出现 “.” 的位置索引。
str = "c.biancheng.net"
str.find('.')
1
【例 2】手动指定起始索引的位置。
str = "c.biancheng.net"
str.find('.',2)
11
【例 3】手动指定起始索引和结束索引的位置。
str = "c.biancheng.net"
str.find('.',2,-4)
-1
位于索引(2,-4)之间的字符串为“biancheng”,由于其不包含“.”,因此 find() 方法的返回值为 -1。
注意,Python 还提供了 rfind() 方法,与 find() 方法最大的不同在于,rfind() 是从字符串右边开始检索。例如:
str = "c.biancheng.net"
str.rfind('.')
11
(三)index()方法
同 find() 方法类似,index() 方法也可以用于检索是否包含指定的字符串,不同之处在于,当指定的字符串不存在时,index() 方法会抛出异常。
index() 方法的语法格式如下:
str.index(sub[,start[,end]])
此格式中各参数的含义分别是:
-
str:表示原字符串;
-
sub:表示要检索的子字符串;
-
start:表示检索开始的起始位置,如果不指定,默认从头开始检索;
-
end:表示检索的结束位置,如果不指定,默认一直检索到结尾。
【例 1】用 index() 方法检索“c.biancheng.net”中首次出现“.”的位置索引。
str = "c.biancheng.net"
str.index('.')
1
【例 2】当检索失败时,index()会抛出异常。
str = "c.biancheng.net"
str.index('z')
Traceback (most recent call last):
File "<pyshell#49>", line 1, in
str.index('z')
ValueError: substring not found
同 find() 和 rfind() 一样,字符串变量还具有 rindex() 方法,其作用和 index() 方法类似,不同之处在于它是从右边开始检索,例如:
str = "c.biancheng.net"
str.rindex('.')
11
(四)replace()方法
replace()方法使用指定子字符串替换字符串中的目标子字符串。语法格式如下:str.replace(old,new[,max])
参数说明:
(1)str:表示原字符串。
(2)old:将被替换的子字符串。
(3)new:新字符串,用于替换old子字符串。
(4)max:可选项。如指定,则替换次数不超过max。缺省,则替换所有旧的字符串。