python3字符串操作总结
介绍Python常见的字符串处理方式
字符串截取
>>>s='hello' >>>s[0:3] 'he' >>>s[:]#截取全部字符 'hello'
消除空格及特殊符号
s.strip()#消除字符串s左右两边的空白字符(包括'\t','\n','\r','') s.strip('0')#消除字符串s左右两边的特殊字符(如'0'),字符串中间的'0'不会删除
例如:
>>>s='000hello00world000' >>>s.strip('0') 'hello00world' s.strip('12')等价于s.strip('21')
例如:
>>>s='12hello21' >>>s.strip('12') 'hello'
lstrip,rstrip用法与strip类似,分别用于消除左、右的字符
字符串复制
s1='hello' s2=s1#s2='hello'
若指定长度
s1='hello' s2=s1[0:2]#s2='he'
字符串连接
s1='hello' s2='world' s3=s1+s2#s3='helloworld'
或者
importoperator s3=operator.concat(s1,s2)#concat为字符串拼接函数
字符串比较
(1)利用operator模块方法比较(python3.X取消了cmd函数)
包含的方法有:
- lt(a,b)————小于
- le(a,b)————小于等于
- eq(a,b)————等于
- ne(a,b)————不等于
- ge(a,b)————大于等于
- gt(a,b)————大于
例子:
>>>importoperator >>>operator.eq('abc','edf')#根据ASCII码比较 Flase >>>operator.gt('abc','ab') True
(2)关系运算符比较(>,<,>=,<=,==,!=)
>>>s1='abc' >>>s2='ab' >>>s1>s2 True >>>s1==s2 False
求字符串长度
>>>s1='hello' >>>len(s1) 5
求字符串中最大字符,最小字符
>>>s1='hello' >>>max(s1)#求字符串s1中最大字符 'o' >>>min(s1)#求字符串s2中最小字符 'e'
字符串大小写转换
主要有如下方法:
- upper————转换为大写
- lower————转换为小写
- title————转换为标题(每个单词首字母大写)
- capitalize————首字母大写
- swapcase————大写变小写,小写变大写
例子:
>>>s1='hello' >>>s2='WORLD' >>>s3='helloworld' >>>s1.upper() 'HELLO' >>>s2.lower() 'world' >>>s3.title() 'HelloWorld' >>>s3.capitalize() 'Helloworld' >>>s3.title().swapcase() 'hELLOwORLD'
字符串翻转
>>>s1='hello' >>>s1[::-1] 'olleh'
字符串分割
split方法,根据参数进行分割,返回一个列表
例子:
>>>s1='hello,world' >>>s1.split(',') ['hello','world']
字符串序列连接
join方法:
语法为str.join(seq)#seq为元素序列
例子:
>>>l=['hello','world'] >>>str='-' >>>str.join(l) 'hello-world'
字符串内查找
find方法:
检测字符串内是否包含子串str
语法为:
str.find(str[,start,end])#str为要查找的字符串;strat为查找起始位置,默认为0;end为查找终止位置,默认为字符串长度。若找到返回起始位置索引,否则返回-1
例子:
>>>s1='todayisafineday' >>>s1.find('is') 6 >>>s1.find('is',3) 6 >>>s1.find('is',7,10) -1
字符串内替换
replace方法:
把字符串中的旧串替换成新串
语法为:
str.replace(old,new[,max])#old为旧串,new为新串,max可选,为替换次数
例子:
>>>s1='todayisafindday' >>>s1.replace('find','rainy') 'todayisarainyday'
判断字符串组成
主要有如下方法:
- isdigit————检测字符串时候只由数字组成
- isalnum————检测字符串是否只由数字和字母组成
- isalpha————检测字符串是否只由字母组成
- islower————检测字符串是否只含有小写字母
- isupper————检测字符串是否只含有大写字母
- isspace————检测字符串是否只含有空格
- istitle————检测字符串是否是标题(每个单词首字母大写)
例子:
>>>s1='hello' >>>s1.islower() True >>>s1.isdigit() False
字符串转数组
a='MynameisJason' #使用split(str="",num=string.count(str))方法根据不同的分割符转,也可指定分割次数,可使用''.join方法转回 >>>'MynameisJason'.split('') ['My','name','is','Jason'] >>>''.join(['My','name','is','Jason']) 'MynameisJason'
字符串首尾匹配
>>>'cat.jpg'.startswith('cat') True >>>'cat.jpg'.startswith('cat',0,3) True >>>'cat.jpg'.endswith('.jpg') True >>>'cat.jpg'.endswith('.jpg',-4) True
字符串空格处理
>>>s='HelloWorld' >>>s.strip() 'HelloWorld' >>>s.lstrip() 'HelloWorld' >>>s.rstrip() 'HelloWorld' #扩展 >>>'www.example.com'.lstrip('www.') 'example.com' >>>'www.example.com'.lstrip('cmowz.') 'example.com'
字符串格式化、数字及大小写判断、长度补全
#字符串的格式化 >>>'{name},{sex},{age}'.format(age=15,sex='male',name='小安') '小安,male,15' >>>'{1},{0},{2}'.format('15','小安','male') '小安,15,male' >>>'{},{},{}'.format('小安','15','male') '小安,15,male' #如果字符串中的所有字符都是数字,并且至少有一个字符,则返回真,否则返回假 >>>'123'.isdigit() True >>>'123一二三'.isdigit() False #isnumeric是所有字符都是数字字符返回真 >>>'123一二三'.isnumeric() True #字符串是否大小写判断 >>>'abc'.islower() True >>>'Abc'.islower() False >>>'ABC'.isupper() True #首字母大写 >>>"they'rebill'sfriendsfromtheUK".title() "They'ReBill'SFriendsFromTheUk" #正则处理方式 >>>importre >>>deftitlecase(s): ...returnre.sub(r"[A-Za-z]+('[A-Za-z]+)?", ...lambdamo:mo.group(0)[0].upper()+ ...mo.group(0)[1:].lower(), ...s) ... >>>titlecase("they'rebill'sfriends.") "They'reBill'sFriends." #返回指定长度字符串,前面补0,一般存csv文件中含00开头的字符0会被抹掉 >>>code='1' >>>code.zfill(6) '000001' #字符串长度及遍历 >>>s='混蛋哥' >>>len(s) 3 >>>foriins: print(i) 混 蛋 哥 >>>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。