目录
前言
字符串的第二部分,主要介绍字符串的一些相关操作
一、字符串的查询操作
字符串的查询操作的方法:
index():查找子串substr第一次出现的位置,如果查找的子串不存在时,则抛出ValueError
rindex():查找子串substr最后一次出现的位置,如果查找的子串不存在时,则抛出ValueError
find():查找子串substr第一次出现的的位置,如果查找的子串不存在时,则抛出-1
rfind():查找子串substr最后一次出现的位置,如果查找的子串不存在时,则抛出-1
注意:推荐find方法查找,因为不会抛异常
演示代码:
d = 'hello,hello'
print('lo第一次出现的位置', d.index('lo'))
print('lo第一次出现的位置', d.find('lo'))
print('lo最后一次出现的位置', d.rindex('lo'))
print('lo最后一次出现的位置', d.rfind('lo'))
二、字符串的大小写转换操作
字符串的大小写转换操作的方法:
upper():把字符串中所有的字符都转换成大写字母
lower():把字符串中所有的字符都转换成小写字母
swapcase():把字符串中所有大写字母转成小写字母,所有小写字母都转成大写字母
capitalize():把第一个字符转换为大写,把其余字符转换为小写
title():把每个单词的第一个字符转换为大写,把每个单词的剩余字符转换为小写
演示代码如下:
# 大小写转换
e = 'hello world'
f = e.upper() # 转成大写后会产生新的字符串对象
print(e, id(e))
print(f, id(f))
g = e.lower() # 转换后会产生新的字符串对象
print(e, id(e))
print(g, id(g))
print(e is g) # 判断是否为同一个地址
h = 'hello WORLD'
i = h.swapcase()
print(i)
j = h.capitalize()
print(j)
l = h.title()
print(l)
结果:
三、字符串内容对齐操作
字符串内容对齐操作方法:
center():居中对齐,第一个参数指定宽度,第二个参数指定填充符,第二个参数为可 选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串
ljust():左对齐,第一个参数指定宽度,第二个参数指定填充符,第二个参数是可选的, 默认是空格,如果设置宽度小于实际宽度则返回原字符串
rjust():右对齐,第一个参数指定宽度,第二个参数指定填充符,第二个参数是可选的, 默认是空格,如果设置宽度小于实际宽度则返回原字符串
zfill():右对齐,左边用0填充,该方法只接收一个参数,用于指定字符串的宽度,如果 指定的宽度小于等于字符串的长度,返回字符串本身
演示代码如下:
m = 'hello,python'
print(m.center(20, '*')) # hello,python在20个宽度中居中
print(m.center(20)) # 默认为空格
'''左对齐'''
print(m.ljust(20, "*"))
'''右对齐'''
print(m.rjust(20, "*"))
print(m.zfill(20))
结果:
四、字符串的劈分操作
字符串的劈分操作方法:
split():从字符串的左边开始劈分,默认的劈分字符是空格字符串,返回的值都是一个列表以通过参数sep指定劈分字符串是劈分符,通过参数maxsplit指定劈分字符串的最大劈分次数,在经过最大劈分之后,剩余的子串会单独做为一部分
rsplit():从字符串的右边开始劈分,默认的劈分字符是空格字符串,返回的值都是一个列表以通过参数sep指定劈分字符串是劈分符,通过参数maxsplit指定劈分字符串的最大劈分次数,在经过最大劈分之后,剩余的子串会单独做为一部分
演示代码如下:
n = 'I Love You'
lst = n.split()
print(lst)
n1 = 'I|Love|You'
lst1 = n1.split()
lst2 = n1.split(sep='|')
lst3 = n1.split(sep='|', maxsplit=1)
print(lst1)
print(lst2)
print(lst3)
print('------------rsplit:右分割-----------')
print(n1.rsplit(sep='|', maxsplit=1))
结果: