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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。