字符串的方法

字符串的方法

字符串.xxx()
字符串拼接
字符串.join(序列):将列表中的元素用指定的字符串拼接在一起,形成一个新的字符串(序列中元素必须时字符串)

list1=['1','你好','acd']
list2 = ''
list3= list2.join(list1)
print(list3)
list1=['1','你好','acd']
list2 = '+'
list3= list2.join(list1)
print(list3)
list1=['1','你好','acd']
list2 = 'ad'
list3= list2.join(list1)
print(list3)

如果需要join的序列中的元素不是字符串就要把他转换在使用join

list1=[1,2,3,4,5,6]
list2='+'
list3=list2.join(str(x) for x in list1)
print(list3)

字符串切割
字符串1.split(字符串2):将字符串1中所有的字符2作为切割点对字符串进行切割,
字符串1.split(字符串2,n):n 就是切割次数
返回包涵切割后每一小段对应的字符串的列表

a = 'asd1zxc1qwe1fgh'
b = a.split('1')#切割的点会消失
print(b)

切割点在最前或最后,连续出现切割点,打印的结果会出现空字符串

a = 'asd1zxc1qwe1fgh'
b = a.split('1',1)
print(b)

字符串1.replace(字符串2,字符串3)把字符串1中的所有字符串2替换成字符串3
字符串1.replace(字符串2,字符串3,n)n就是替换的次数

a = 'asd1zxc1qwe1fgh'
b = a.replace('1','9')
print(b)
c = a.replace('1','')
print(c)
c = a.replace('1','',2)
print(c)

删除:
字符串.strip() 删除字符串左右两端的无效空白字符
字符串.rstrip()删除左边空格
字符串.lstrip()删除右边空格
字符串.strip(字符),删除字符串左右两边的重复的字符

a = '   md   '
print(a)
print(a.strip())
a = '、、、、md、、、、'
print(a)
print(a.strip('、'))
# center,rjust,ljust,zfill
a = '123'
print(a.center(7,'a'))#aa123aa
print(a.rjust(7,'+'))#++++123
print(a.ljust(7,'='))#123====
print(a.zfill(7))#0000123
统计字符串:
zfc.count(字符) 统计字符串中的某个字符出现的个数
字符串1.find(字符串2)获取字符串1中字符串2第一次出现的位置(返回以0开始的下标)
字符串1.index(字符串2)获取字符串1中字符串2第一次出现的位置(返回以0开始的下标)
#字符串1.find(字符串2,开始下标,结束下标)会在指定的范围里查找
字符串1.index(字符串2,开始下标,结束下标)

```python
a = '123456'
print(a.find('2'))
print(a.index('5'))
print(a.find('0'))#如果字符串2不存在会返回-1
# print(a.index('0')#如果字符串2不存在会报错
# maketrans,translate
a = '123456'
c = str.maketrans('123456789','一二三四五六七八九')#创建一个映射表
b = a.translate(c)#根据映射表应关系替换字符串中的相关字符
print(b)

替换练习题

a = '星期1,星期2,星期3,星期4,星期5,星期6,星期7'
b = str.maketrans('1234567','一二三四五六天')
c = a.translate(b)
print(c)

格式字符串
字符串拼接:包含一个或多个格式占位的字符串%(数据1,数据2,数据3,。。。)
说明:()中的数据必须和前面的字符串占位符一一对应,乳沟只有一个数据,()可以省略
常用字符串占位符:%s(可以给任何数据类型占位,多用于字符串占位)
%d:(只能给任何数字数据占位,整数占位)
%f:浮点数占位符,默认保留六位小数,%.Nf:能保留n位小数

name = '1' #input('请输入名字:')
age =  2#int(input('输入年龄:'))
money = 3#float(input('钱'))
a = name + '今年' + str(age) + '岁月薪' + str(money) + '元'
print(a)

b = '%s今年%d岁 月薪:%.2f元' % (name,age,money)
print(b)

f字符串 可以在字符串中通过{}提供内容:{表达式}:表达式的结果就是对应的字符内容

name = '小明'
age = 18
money = 15800
a = f'姓名{name},年龄:{age}钱:{money}'
print(a)
print(f'a{1<2},c:{200-100},d:{2<1},')

f-string的参数:{提供数据的表达式:参数}
参数:1 控制消失位数{提供数据表达式:. Nf}

a = 157896
b = f'余额:{a:.5f}'
print(b)

大金额逗号分隔 {提供数据表达式:,}

c = 180000
x = f'及格率{c:,}'
print(x)

小数显示成百分比:{提供数据表达式:n%}n是保留%后面n位小数
a = 0.86
b = f’及格率{a:.2%}’
print(b)
控制填充长度(实现center,rjust,ljust,zfill的功能)
{提供数据表达式:字符<长度} <>是控制填充方向,<前面的字符就是填充的内容,如果
字符没写就填充空格

a = 3
c = 'py20'
b = f'{c}{a:0>3}'
print(b)
d = f'{a:v<5}'
e = f'{a:v>5}'
f = f'{a:>5}'
print(e)
print(d)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值