前言
前面的文章已经介绍了字符串的大小写转换和格式化,现在来介绍下字符串其他的常用方法
find()方法
描述
find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。
语法
str.find(str, beg=0, end=len(string))
参数
- str -- 指定检索的字符串
- beg -- 开始索引,默认为0。
- end -- 结束索引,默认为字符串的长度。
实例
str1 = "Runoob example....wow!!!"
str2 = "exam";
print(str1.find(str2))
print(str1.find(str2, 5)) #第二个参数是开始索引
print(str1.find(str2, 5,7)) #第三个参数是结束索引
print(str1.find(str2, 10))
结果
7
7
-1
-1
len()方法
描述
返回字符串的长度
语法
len(str)
join()方法
描述
Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
语法
str.join(sequence)
参数
- sequence -- 要连接的元素序列。
实例
s1 = "-"
s2 = ""
seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
print (s1.join( seq ))
print (s2.join( seq ))
结果
r-u-n-o-o-b
runoob
replace()方法
描述
replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
注意: replace 不会改变原 string 的内容,可以赋值给其他字段。
语法
str.replace(old, new[, max])
参数
- old -- 将被替换的子字符串。
- new -- 新字符串,用于替换old子字符串。
- max -- 可选字符串, 替换不超过 max 次
实例
str = "www.w3cschool.cc"
print("菜鸟教程旧地址:", str)
print("菜鸟教程新地址:", str.replace("w3cschool.cc", "runoob.com"))
str = "this is string example....wow!!!"
print(str.replace("is", "was", 3))
结果
菜鸟教程旧地址: www.w3cschool.cc
菜鸟教程新地址: www.runoob.com
thwas was string example....wow!!!
strip()方法
大小写转换
分隔字符串
语法
str.split(str="", num=string.count(str))
参数
- str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
- num -- 分割次数。默认为 -1, 即分隔所有。
print('demo.py'.split('.'))
# output: ['demo', 'py']
str.rsplit()
和str.lsplit()
同理
startswith()和endswith()方法
startswith() 方法用于检索字符串是否以指定字符串开头,如果是返回 True;反之返回 False。此方法的语法格式如下:
str.startswith(sub[,start[,end]])
- str:表示原字符串;
- sub:要检索的子串;
- 指定检索开始的起始位置索引,如果不指定,则默认从头开始检索;
- 指定检索的结束位置索引,如果不指定,则默认一直检索在结束。
fan = "fan.py"
print(fan.startswith('f'))
print(fan.endswith('.py'))
endswith() 方法同理,用于检索字符串是否以指定字符串结尾,如果是则返回 True;反之则返回 False。
count()方法
count() 方法用于统计字符串里某个字符或子字符串出现的次数。可选参数为在字符串搜索的开始与结束位置。
语法
str.count(sub, start= 0,end=len(string))
格式化字符串
index()方法
index() 方法检测字符串中是否包含子字符串 str ,如果包含子字符串返回开始的索引值,否则抛出异常。
语法
str.index(str, beg=0, end=len(string))
islower()和isupper()方法
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
语法
str.islower()
- istitle() 方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
- isupper() 方法检测字符串中所有的字母是否都为大写。