字符串的常用方法
1. join :字符串拼接
a = “aaa”
str1 = a.join([“11”, “22”, “33”])
str2 = a.join(“123”)
print(str1)
print(str2)
# 2. find :查找元素的位置
#find()函数:返回-1表示未找到子字符串,如果找到了就返回对应字符的索引
#定义一个值
s = “a very happy day”
print(s.find(‘v’)) # 返回找到字符串的索引值
print(s.find(‘happy’)) # 返回找到子字符串的第一个索引值
print(s.find(‘K’)) # 没找到,返回-1
print(s.find(‘a’, 7, 9)) # find能指定查找的开始索引和结束索引 ,查找相同的只能查找第一个,找到则返回字符的索引值,没找到则返回-1
# 3. count : 查找元素的个数
w = “haaaaappy”
print(w.count(‘a’))
print(w.count(‘p’))
# 4. replace : 替换字符
r = ‘abc123123abc’
print(r.replace(‘a’, ‘h’))
# 5. split : 字符串分割
r_1 = ‘abc123123abc’
print(r_1.split(‘1’))
#将r_2中的字符串的“ ”空格去掉
r_2 = ‘aa bb cc dd 1 22 ll’
#第一种方式
print(
r_2.replace(’ ', ‘’)
)
#第二种方式
res = r_2.split(" ")
print(res)
res_1 = ‘’.join(res)
print(res_1)
# 6. upper : 将字母转换大写
QQ = ‘a beautiful girl’
print(QQ.upper())
# 7. lower : 将字母转换小写
qq = ‘A BEAUTIFUL GIRL’
print(qq.lower())
# 8. swapcase :将大写字符转换为小写字符,将小写字符转换为大写字符
sq = ‘A BEautIFUL Girl’
print(sq.swapcase())
# 9. isdigit()函数:如果只包含数字,就返回true,否则返回false
s_2 = ‘learn python in lemon’ # 定义一个值
print(s_2.isdigit())
print(‘111’.isdigit())
# 10.strip()函数:去掉头和尾指定的字符,返回一个新的字符串
s = ‘learn python in lemon\n’ # 定义一个值
print(s.strip(’’))
print(s.strip(’\n’))
#连续去掉和\n
s_1 = s.strip(’’)
s_2 = s_1.strip(’\n’)
print(s_2)
# 11. format : 格式化输出 format{} 占坑
#保留2位小数: {:.2f}
#不保留小数: {:.0f}
#百分比格式: {:.2%}
#右对齐: {:>10d}
#左对齐: {:<10d}
#中间对齐: {:^10d}
#数字补X(填充左边,宽度为4):{:x>4d}
#数字补X(填充右边,宽度为4):{:x<4d} 【补充】:f:表示浮点数 s:表示字符 d:表示整数
str_11 = ‘今天收到{}同学的成绩单,语文{:.0f}分,数学{:.1f}分,英语{:.2f}分,班级排名{:.0f}名,年级排名{:.0f}名,相比上学期提高了{:.2%}’
print(str_11.format(‘小明’, 134.5, 125.55, 137, 3, 17, 0.1234))
str_22 = ‘今天收到{:10s}同学的成绩单’
print(str_22.format(‘小明’))
str_33 = ‘今天收到{:>10s}同学的成绩单’
print(str_33.format(‘小明’))
str_44 = ‘今天收到{:^10s}同学的成绩单’
print(str_44.format(‘小明’))
str_21 = ‘今天收到{:x>4s}同学的成绩单’
print(str_21.format(‘小红’))
str_23 = ‘今天收到{:x<4s}同学的成绩单’
print(str_23.format(‘小红’))
#通过下标进行传值
str_25 = ‘{0}xxx{0}yyy{1}zzz’.format(100, 200)
print(str_25)
str_251 = ‘{a}xxx{b}yyy{c}zzz’.format(a=100, b=200, c=300)
print(str_251)
#format格式化输出,传值需要与前面的{}对应,不能少传值
str_26 = ‘{}xxx{}yyy{}zzz’.format(100, 200, 300, 300)
print(str_26)
# 传统的格式化输出方式 % 占位
# %d:整数 %s:字符 %f:浮点数 占坑%()做格式化输出
# %s是万能的占位符,可以使字符可以是数值,但是d就只能是整数,小数会将小数位进行舍去,f只能是浮点数,会进行四舍五入
str_10 = ‘今收到%s同学,交来学费%s元,日期%s’ % (‘小明’, 6000, ‘2019-12-23’)
print(str_10)
练习题
name = ‘小明’
age = 18
money = 2000.56
输出格式为:这位同学叫:小明,今年18岁,银行卡余额:2000.56元
print(‘这位同学叫:{},今年{}岁,银行卡余额:{}元’.format(‘小明’, 18, 2000.56))
print(‘这位同学叫:{name},今年{age}岁,银行卡余额:{money}元’.format(name=‘小明’, age=18, money=2000.56))
print(‘这位同学叫:%s,今年%d岁,银行卡余额:%.2f元’ % (‘小明’, 18, 2000.56))