重点:字符串的常用函数
#1.测试转换大小写
lower:大写->小写 upper:小写->大写 swapcase:自动将大写转小写小写转大写
print("ABC".lower()) #abcprint("abc".upper()) #ABCprint("aBc".swapcase()) #aBc
2.删除空格:
strip:删除两端空格
lstrip:删除左边的空格
rstrip:删除右边的空格
#2.测试删除空格
#stripprint(" zhangsan ".strip())#lstripprint(" zhangsan ".lstrip())#rstripprint(" zhangsan ".rstrip())
3.字符串位置
center:把字符串居中显示,并且用指定的字符填充在字符串左右。
ljust:把字符串左对齐,并使用指定字符填充到指定宽度
rjust:把字符串右对齐,使用指定字符将前面的填充完整
#测试字符串位置问题
#centerprint("lisi".center(50,"-")) #-----------------------lisi----------------------- lisi 与 - 加起来共为50个字符#ljustprint("lisi".ljust(50,"-")) #lisi---------------------------------------------- #rjustprint("lisi".rjust(50,"-")) #----------------------------------------------lisi
4.检索字符匹配的索引:
find():返回子字符串第一次出现的索引,如果检索不到返回-1
rfind:返回字符串最后一次出现的索引
index:和find完全一样,只是检索不到会报错没有返回值
rindex:返回字符串最后一次出现的索引
#find
print("i am wzw".find("w")) #5 因为空格也属于字符串类型print("123456".find("9")) #-1 未检索到输出-1#rfindprint("i am wzw".rfind("w")) #7#index#print("123456".index("9")) ValueError: substring not found 未检索到会报错
#案例:返回一个域名公司名称的起始索引 www.baidu.com
print("www.baidu.com".find(".") + 1) #4
5.字符串的替换:
replace("将替换的字符","替换后的字符")
#replace
print("i love python".replace("love","爱")) #i 爱 python
6.字符串的生成
join:把可迭代对象(像列表、元组、集合等)中的元素连接成一个字符串,连接时会使用调用 join() 方法的字符串作为分隔符。
print("-".join("help")) # h-e-l-p
#案例:将列表中的所有元素通过 - 连接起来
list1 = [10,20,30,40,50]res = str(list1)res = res.replace("[","")res = res.replace("]","")res = res.replace(",","")res = res.replace(" ","")print("-".join(res)) #1-0-2-0-3-0-4-0-5-0 思考如何变成 10-20-30-40-50
7.首字母大写:
capitalize:将首字母大写
print("python".capitalize()) #Python
#count: 统计一个元素在字符串中出现的次数
print("i am wzw".count("w")) #2
8.判断问题(bool类型 输出为 T/F):
startswith:检查字符串是否以指定的前缀开始
endswith:检查字符串是否以指定的后缀结束
print("123wzw".startswith("123")) #Trueprint("123wzw".endswith("123")) #False
9.分割
split("分割对象"):根据指定的分隔符将字符串分割成多个子字符串,并返回一个包含这些子字符串的列表。
'''
print("i am wzw".split(" ")) #['i', 'am', 'wzw'] 以空格分割
print("i am wzw".split("w")) #['i am ', 'z', ''] w被切割掉了
#案例:输入各科成绩并使用空格分割
res = input("请输入各科成绩,并使用空格分割:")print(res.split(" ")[0]) #10print(res.split(" ")[1]) #20print(res.split(" ")[2]) #30'''
10. partition(子字符串):将一个字符串拆分为三部分,含子字符串本身及左右两边,返回一个元组
'''
print("i am wzw".partition("w")) #('i am ' , 'w' , 'zw')
11.自定义规则替换字符串
maketrans: 定义映射规则
translate: 根据规则替换字符串
str_a = "abcde"str_b = "12345"rule = str.maketrans(str_a,str_b) #定义映射规则print("at bt ct dt et".translate(rule)) #1t 2t 3t 4t 5t abcde已依次替换为12345
# 使用替换转换表进行转换
str_c = "abcdef"rule2 = str.maketrans('bdf', '123') #将bdf替换为123result1 = str_c.translate(rule2)print(result1) # a1c2e3
# 使用删除转换表进行转换
rule3 = str.maketrans('', '', 'abc')result2 = str_c.translate(rule3)print(result2) # def