字符串的查找
find():检测某个子串是否包含在这个字符串之中,如果在返回这个子串的开始字母的下标,不在则返回-1
语法
字符串序列.fin(子串,开始位置下标,结束位置下标)
注意:开始位置可以省略,表示在整个字符串里面查找
str1 = "holle world and you and Humen and Python"
print(str1.find('and'))#12 空格也算一个字符,a的下标是12
print(str1.find('and',15,25))#20
print(str1.find('ands'))#-1 字符串里面没有ands
#后面紧跟输出结果
index(),和find()用法一样,只不过index没有找到对应的字符串就会报错
语法
字符串序列.index(子串,开始位置下标,结束位置下标)
rfind()和find()功能相同,但是查找方向为右侧开始
rindex()和index功能相同,但是查找方向为右侧开始
count()返回某个子串在字符串的出现的次数
语法
字符串序列.count(子串,开始位置下标,结束位置下标)
开始与结束下标可以省略,表示在整个字符串里面查找
字符串的修改
replace(): 替换
语法
字符串序列.replace(旧子串,新子串,替换次数)
注意:replace,具有返回值,它并不会去修改原有的字符串,因为str是不可变类型
str1 = "holle world and you and Humen and Python"
str1.replace('and','和',1)
print(str1)
#结果是holle world and you and Humen and Python
解决办法是找一个str2接受返回值
str1 = "holle world and you and Humen and Python"
str2=str1.replace('and','和',1)
print(str2)
#结果:holle world 和 you and Humen and Python
当修改次数超过原有的 出现次数
str1 = "holle world and you and Humen and Python"
str2=str1.replace('and','和',10)
print(str2)
#结果holle world 和 you 和 Humen 和 Python
split():按照指定字符分割字符串
语法
字符串序列.split(分割字符,num)
#num代表分割字符出现的次数,即将来返回数据个数为num+1个
str1 = "holle world and you and Humen and Python"
str2=str1.split('and')
print(str2)
#结果是:['holle world ', ' you ', ' Humen ', ' Python']
由此可见and作为分割符就消失了,
那把分割符换成空格试一试
str1 = "holle world and you and Humen and Python"
str2=str1.split(' ')
print(str2)
#结果['holle', 'world', 'and', 'you', 'and', 'Humen', 'and', 'Python']
join(),合并列表里面的字符串为一个大的字符串,起一个连接作用
语法
字符串或字符.join(多字符串组成的序列)
str1 = ['aa', 'bb', 'cc']
str2 = "和".join(str1)
print(str2)
#结果aa和bb和cc