day10字符串相关函数和相关方法
一、相关函数
1.len函数 - 获取字符串字符的长度
str1 = 'abc'
print(len(str1)) #3
2.str (数据) - 将指定数据转换成字符串
任何类型的数据都可以转换成字符串;转的时候直接在数据的打印值外面加引号
list1 = [10,20,30]
print(str(list1)) #'[10,20,30]'
3.eval(字符串) - 计算字符串表达式的结果
str1 = '[10,20,30]'
result = eval(str1)
print(result) # [10,20,30]
num1,num2 = eval(input("请输入两个整数(用逗号隔开):"))
print(num1,num2) #10,20 类型是整型
二、字符串相关方法
由于相关方法数量较多,下面罗列经常用得到的相关方法
1.join
字符串.join(序列) - 将序列中的元素用指定字符串拼接成一个新的字符串
序列中元素必须是字符串
list1 = ['name','age','gender']
result = '+'.join(list1)
print(result,type(result)) #name+age+gender <class 'str'>
2.split
字符串1.split(字符串2)- 将字符串1中所有的字符串2作为切割点对字符进行切割
字符串1.split(字符串2,n) - 将字符串1中所有的字符串2前n个字符作为切割点对字符串进行切割
字符串1.rsplit(字符串2,n) - 将字符串1从后往前n个字符作为切割点进行切割
str1 = "123*abc*mn"
result = str1.split("*")
print((result))
# 注意1:如切割点在字符串的开头或者结尾,切玩后会出现空串
str2 = "*123*abc*mn*"
result1 = str2.split("*")
print(result1)
# 注意2:如果切割点连续出现,切完后也会出现空串
str3= '123**abc*mn'
result2 = str3.split("*")
print(result2)
3.replace - 替换
字符串1.replace(字符串2,字符串3) - 将字符串1中所有的字符串2都替换成字符串3
字符串1.replace(字符串2,字符串3,n) - 将字符串1中前n个字符串都替换成字符串3
# 将已知字符串中"you"替换为"me"
str1 = "how are you ? i am fine ,thank you! and you?"
str2 = str1.replace('you',"me")
print(str2)#how are me ? i am fine ,thank me! and me?
# 练习:将str1中最后的两个you替换成me
result = "me"