python 字符串转列表,列表转字符串,字符串替换
突然想把python基础再巩固巩固,所以写博客来记录一下,哪里不对,欢迎指正,下为正文。
1. 关于字符串: 字符串是不可变序列,拆分字符串是在拷贝的字符串上进行的,并不会改变原有序列
拆分字符串
split方法:此方法可以接收两个参数,第一个参数是分隔符,默认是所有的空字符,包括 空格,换行 制表符等,拆分过程中会消耗分隔符,所以,拆分结果不包含分隔符。第二个参数 是一个数字,默认缺省 缺省时全分割,也可以用 maxsplit 来指定分割次数。
例如:
定义字符串:
s = 'Hello world' l = """Hi there , my name is blankdog do 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,即不保留换行符
#保留换行符 s1 = """ab c d e f gh """ splitlines_True = s1.splitlines(True) print(splitlines_True)
#不保留换行符 s2 = """ab c d e f gh """ splitlines_True = s2.splitlines(False) print(splitlines_True)
列表转字符串
join() 方法可以将列表链接为字符串
s_list = ['Hi','my','name','is','blank','dog'] #链接为以空格为分隔符 的字符串 print( ' '.join(s_list) ) #链接为以下划线为分隔符的字符串 print( '_'.join(s_list) )
2. 替换字符串 替换字符串的场景如下:大小写替换,特定字符转换,自定义片段替换....
#首个字母替换为大写 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建默认空格数是8 rep_s3 = "Hello World" rep_res5 = rep_s3.expandtabs(tabsize=4) print(rep_s3)
#替换字符串 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)
#字符串开头空格,或者指定字符替换为空 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)
以上,为所学习关于字符串处理的基础,其他几种方式后续再来补充。