suo
一、字符串居中
s = 'helloworld'
print(s)
print(s.center(20))
两端添加空格
s = 'helloworld'
print(s)
print(s.center(20, '*'))
去掉两端空格
s = 'helloworld'
print(s)
s1=print(s.center(20, '*'))
s2=s.strip(s1)
print(s2)
二、格式化字符串
1.占位符格式化
name="madongmei"
age=18
score=98.5
print('姓名:%s,年龄:%d,成绩:%.2f' %(name,age,score))
2.f-string
name="madongmei"
age=18
score=98.5
print(f'姓名{name},年龄{age},成绩{score}')
3.使用字符串的format方法。模式字符串
name="madongmei"
age=18
score=98.5
print('姓名:{0},年龄:{1},成绩:{2}'.format(name,age,score))
三、字符串的格式控制
#<左对齐 >右对齐 ^居中对齐
s='hello'
print('{0:*<8}'.format(s))
#千位分隔符(整数、浮点数均可以)
print('{0:,}'.format(1234567))#,为引导符号
print(“{0:2f}”.format(s))#意思是保留两位小数
print(“{0:5}”.format(s))#意思是只有五位长度
P67字符串的编码和解码
默认Utf-8,一个中文三个字符 。gbk是两个
s='你好呀' scode_gbk = s.encode('gbk',errors='ignore') print(scode_gbk)
s='你好呀'
scode = s.encode(errors='ignore')
print(scode)
s='你好呀' scode_gbk = s.encode('gbk',errors='ignore') print(scode_gbk) print(bytes.decode(scode_gbk,'gbk'))#解码过程
P69字符串处理
1.直接拼接
s1='hello'
s2='world'
print(s1+s2)
2.str.join
这个用的空字符串拼接的,也可以用'*'
s1='hello'
s2='world'
print(''.join([s1,s2]))#s1,s2放在列表里面进行拼接
3.格式化字符
P70拼接操作
1。去重(1)(2)
s='hellowordhellowordhellowordhellowordasdfghj'
new_s = ''
for item in s:
if item not in new_s:
new_s+=item#拼接操作
print(new_s)
s='hellowordhellowordhellowordhellowordasdfghj'
new_s = ''
for i in range(len(s)):#遍历操作
if s[i] not in new_s:
new_s+=s[i]
print(new_s)
↑。索引加not in
(3)通过集合去重
s='hellowordhellowordhellowordhellowordasdfghj'
new_3=set(s)
lst=list(new_3) #去重
lst.sort(key=s.index) #排序
print(''.join(lst)) #连接
P71正则化表达
1,限定字符(限制匹配次数)
2.元字符
match的使用
import re#导入模块
pattern='\d\.\d+'#匹配模式
s = 'i study python 3.11 every month' # 待匹配字符串
match = re.match(pattern,s,re.I) # I表示忽略大小写,I为ignore的缩写
print(match) # None.这是由于s不是以数字开头的,匹配不到
s2 = '3.11 i study python every month'
match2 = re.match(pattern,s2,re.I)
print(match2) # <_sre.SRE_Match object; span=(0, 4), match='3.11'>
#甚至告诉了起始位置
print('匹配的开始位置',match2.start())
print('匹配的开结束位置',match2.end())
print('匹配的数据',match2.group())
print('匹配的位置元素',match2.span())
print('匹配的字符串',match2.string)
None
<_sre.SRE_Match object; span=(0, 4), match='3.11'>
匹配的开始位置 0
匹配的开结束位置 4 #不包括4
匹配的数据 3.11
匹配的位置元素 (0, 4) #这是个元组
匹配的字符串 3.11 i study python every month