Python之字符串方法
字符串用法总结
1、将首字母大写
test = 'alex' v = test.capitalize() print(v)
结果:'Alex'
2、将所有的大写字母变成小写
test = 'aLEx' v = test.casefold() print(v)
结果:'alex'
3、replace替换~将gr替换成222,后面2表示替换几个
test = 'gfrgretgrtgreh' v = test.replace('gr', '222', 2) print(v)
结果:'gfr222et222tgreh'
4、设置宽度,并将内容居中---20代指总长度,‘*’表示用*来填充空白位置
test = 'gfrgretgrtgreh' v = test.center(20,'*') #居中放置 print(v) 结果:'***gfrgretgrtgreh***' test = 'alex' v = test.ljust(20,'*') #放在左边 print(v) 结果:'alex****************' v = test.rjust(20,'*') #放在右边 print(v) 结果:'****************alex' v = test.zfill(20) #默认只用0来填充 print(v) 结果:'0000000000000000alex'
5、count,计数,可设定范围,设置2起始位置和4结束位置查找e出现的次数
test = 'dfjetre347efgfe' v = test.count('e',2,4) print(v) 结果:1
6、判断以什么开头和结尾
test = 'dfjetre347efgfe' v1 = test.startswith('a') v2 = test.endswith('e') print(v1,v2)
结果:False True
7、设置sub子序列,从开始往后找,找到第一个之后,获取其位置(初始包括其),可以加起始位置和结束位置,未找到返回-1
test = 'dfjetrex347efgfe' v = test.find('ex',2,8) print(v)
结果:6
8、格式化,将一个字符串中的占位符替换为指定的值({从0开始,做占位符})
test1 = 'i am {name},age {a}' v = test1.format(name='alex', a=20) print(v)
结果:'i am alex,age 20'
test2 = 'i am {0},age {1}'
test3 = 'i am {N},age {Y}'
v1 = test2.format('alex', 20)
v2 = test3.format_map({'N':'kill','Y':20})
print(v1,v2)
结果:'i am alex,age 20' 'i am kill,age 20'
9、index找不到时会-报错
test = 'alexalex' v = test.index('ex') print(v) 结果:2
10、判断字符串中是否只包括 字母和数字 (都是字母或者数字也可以)
test = 'uaf4354grgr' v = test.isalnum() print(v)
结果:True
11、首先进行断句(比如20个(n个)长度中断一次,出现\t,缺多少个就用\t代表剩下的个数),可以使用\t和这个方法来制作表格
test = 'username\temail\tpassword\nzhangsan\tzhang@qq.com\t123\nzhangsan\tzhang@qq.com\t123' v = test.expandtabs(20) print(v, len(v))
结果:
username email password
zhangsan zhang@qq.com 123
zhangsan zhang@qq.com 123 136
12、判断是否只包括纯字母或者汉字,或者字母加汉字
test = 'asdf我edfe' v = test.isalpha() print(v)
结果:True
13、均为判定是否为数字,isdecimal是十进制数(只支持纯数字),isdigit表示二进制数(更牛)和特殊数字②,isnumeric是中文数字(最牛)(二进制数也支持)
test = '②123二' v1 = test.isdecimal() v2 = test.isdigit() v3 = test.isnumeric() print(v1, v2, v3)
结果:False False True
14、字母,数字,下划线
test = '_123' v = test.isidentifier() print(v)
结果:True
15、判断是否存在不可显示的字符\t,\n,存在为False,不存在True
test = 'fdfgr\ngirgr' v = test.isprintable() print(v)
结果:False
16、判断是否全部都是空格
test = 'fgr gtht' v = test.isspace() print(v)
结果:False
17、istitle()判断标题首字母是否全部大写,title则是将普通的字符串转换成标题,即首字母全部变成大写
test = 'Return True if S is a titlecased string' v1 = test.istitle() print(v1)
结果:False
test = 'Return True if S is a titlecased string'
v2 = test.title()
print(v2)
结果:Return True If S Is A Titlecased String
18、用自己定义的一个分隔符,将字符串中的每一个元素进行拼接
test = '你是风儿我是沙' v = '*'.join(test) print(v)
结果:你*是*风*儿*我*是*沙
19、islower或者isupper判断是否为大小写,lower/upper则是将其转换成大小写
test = 'ALex' v = test.islower() v1 = test.lower() print(v,v1) 结果:False alex v3 = test.isupper() v4 = test.upper() print(v3,v4) 结果:False ALEX
20、默认去除左右或者所有的空白,strip还可以去除\t和\n,还可以在括号里面指定去除的字符(优先最多匹配)
test = '\n alex ' v = test.lstrip() v1 = test.rstrip() v2 = test.strip() print(v) print(v1) print(v2) 结果: alex alex alex
21、将字符串v中的aeiou,使用12345进行替换
test1 = 'aeiou' test2 = '12345' v = 'rugargjrkig4;rgrgr' m = str.maketrans(test1, test2) new_v = v.translate(m) print(new_v) 结果:r5g1rgjrk3g4;rgrgr
22、分割符
test = 'testasdsddfg' v = test.partition('s') #找到第一个s进行分割,只能分割成3份 v1 = test.rpartition('s') #从右边开始找到第一个s进行分割,只能分割成3份 v2 = test.split('s',2) #可以指定找到s的个数进行分割为几部分,而s则去除了,或者默认则找到全部s进行分割(s不包括在结果里面) v3 = test.rsplit() #从右边开始可以指定找到s的个数进行分割,而s则去除了,或者默认则找到全部s进行分割 print(v1, v2, v3) 结果:('testasd', 's', 'ddfg') ['te', 'ta', 'dsddfg'] ['testasdsddfg']
23、只能根据换行\n,进行分割,True(保留\n),False(去除\n),即是否保留换行
test = 'afdfmkgrkgmrkr\ngrgrgrg\ngrgrr' v = test.splitlines(True) print(v) 结果:['afdfmkgrkgmrkr\n', 'grgrgrg\n', 'grgrr']
24、进行大小写转换,将大写变成小写,将小写变成大写
test = 'AlEx' v = test.swapcase() print(v)
结果:aLeX
25、len 和 join 的使用,要求输出对应子序列的索引
test = '你是风儿我是沙' for i in range(0, len(test)): print(i, test[i]) 结果: 0 你 1 是 2 风 3 儿 4 我 5 是 6 沙
26、切片操作
test1 = 'alex' v = test[2] print(v) 结果:e test2 = 'zhangsan' v = test[2:4] print(v) 结果:an

浙公网安备 33010602011771号