OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6585|回复: 0

Python 字符的替换(评论送朵花花啊)

[复制链接]

143

主题

145

帖子

0

精华

高级会员

Rank: 4

积分
585
金钱
585
注册时间
2020-5-25
在线时间
42 小时
发表于 2021-2-5 15:41:19 | 显示全部楼层 |阅读模式
python 字符串转列表,列表转字符串,字符串替换
突然想把python基础再巩固巩固,所以写博客来记录一下,哪里不对,欢迎指正,下为正文。

1. 关于字符串: 字符串是不可变序列,拆分字符串是在拷贝的字符串上进行的,并不会改变原有序列
拆分字符串
  split方法:此方法可以接收两个参数,第一个参数是分隔符,默认是所有的空字符,包括 空格,换行 制表符等,拆分过程中会消耗分隔符,所以,拆分结果不包含分隔符。第二个参数 是一个数字,默认缺省 缺省时全分割,也可以用 maxsplit 来指定分割次数。
例如:
定义字符串:
s = 'Hello world'l = """Hi there , my name is blankdogdo you like me """
#不传参数时,默认分隔符为所有空字符split_nopam = s.split()print(split_nopam)
#一个空格split_pam = s.split(' ')print(split_pam)
#两个空格split_pam1 = s.split('  ')print(split_pam1)
#使用world为分隔符,会看到,split会消耗掉分隔符,而不显示split_pam2 = s.split('world')print(split_pam2)
#空字符包含,空格,,多个空格,换行符等l_split = l.split()print(l_split)
split方法的第二个参数,指定分割次数,直接在第一个参数后面加一个数字(按位置传参),或者使用 maxsplit=num 来指定

#根据空格分割三段(按位置传参)l_split_1 = l.split(' ',3)print(l_split_1)
#根据空格分割三段(按位置传参)l_split_1 = l.split(' ',3)print(l_split_1)
#指定参数l_split_2 = l.split(maxsplit=3)print(l_split_2)
#错误用法,不按位置传参,直接传递分割几次数字参数l.split(3)
split()方法是从左往右遍历,与之相对的是,rsplit()方法,从右往左便利,比较少用,会有奇效
l_split_3 = l.rsplit(maxsplit=2)print(l_split_3)
拆分字符串还有一种方法, splitlines() 这个方法按照行来拆分字符串(默认分隔符 按照行('\r', '\r\n', \n')分隔),接受一个参数,True,或者 False,分别决定换行符是否被保留,默认为False,即不保留换行符
[url=][/url]
[url=][/url]
#保留换行符s1 = """ab c d e f gh"""splitlines_True = s1.splitlines(True)print(splitlines_True)[url=][/url]
[url=][/url]

[url=][/url]
[url=][/url]
#不保留换行符s2 = """ab c d e f gh"""splitlines_True = s2.splitlines(False)print(splitlines_True)[url=][/url]
[url=][/url]

列表转字符串
     join() 方法可以将列表链接为字符串
s_list = ['Hi','my','name','is','blank','dog']#链接为以空格为分隔符 的字符串print( ' '.join(s_list) )#链接为以下划线为分隔符的字符串print( '_'.join(s_list) )
2. 替换字符串 替换字符串的场景如下:大小写替换,特定字符转换,自定义片段替换....
[url=][/url]
[url=][/url]
#首个字母替换为大写rep_s = 'hello world'rep_res = rep_s.capitalize()print(rep_res)#所有单词首字母变为大写rep_res1 = rep_s.title()print(rep_res1)
#所有小写字母转换为大写rep_res2 = rep_s.upper()print(rep_res2)
#所有大写写字母转换为小写rep_s1 = 'HELLO WORLD'rep_res3 = rep_s1.lower()print(rep_res3)
#所有大写替换为小写,小写替换为大写rep_s2 = 'Hello World'rep_res4 = rep_s2.swapcase()print(rep_res4)
#所有tab建转换为空格,tab建默认空格数是8rep_s3 = "Hello    World"rep_res5 = rep_s3.expandtabs(tabsize=4)print(rep_s3)
[url=][/url]
[url=][/url]
#替换字符串rep_s4 = 'Hi World'rep_res6 = rep_s4.replace('Hi','Hello')print(rep_res6)#替换字符串,可以指定替换次数rep_s5 = 'Hi World Hi World Hi World'rep_res7 = rep_s5.replace('Hi','Hello',2)print(rep_res7)[url=][/url]
[url=][/url]

#字符串开头空格,或者指定字符替换为空rep_s6 = ' hello world'rep_res8 = rep_s6.lstrip('h')print(rep_res8)
#指定字符为空rep_s6 = 'hello world'rep_res8 = rep_s6.lstrip('h')print(rep_res8)
#指定字符为空rep_s6 = 'hello world'rep_res8 = rep_s6.lstrip('h')print(rep_res8)
#字符串末尾空格,或者指定字符替换为空rep_s7 = 'hello world 'rep_res9 = rep_s7.lstrip()print(rep_res9)
#字符串首位空格替换,或者指定字符替换rep_s8 = ' hello world 'rep_res10 = rep_s8.strip()print(rep_res10)
#删除首末位置的指定字符串rep_s9 = '************hello world**********'rep_res11 = rep_s9.strip('*')print(rep_res11)
以上,为所学习关于字符串处理的基础,其他几种方式后续再来补充








正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 12:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表