2024.01.09字符串

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
 

  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值