python3字符串操作总结
Python  /  管理员 发布于 7年前   207
介绍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'
或者
import operators3 = operator.concat(s1,s2) #concat为字符串拼接函数
字符串比较
(1)利用operator模块方法比较(python3.X取消了cmd函数)
包含的方法有:
例子:
>>>import operator>>>operator.eq('abc','edf') #根据ASCII码比较Flase>>>operator.gt('abc','ab')True
(2)关系运算符比较(>,<,>=,<=,==,!=)
>>>s1 = 'abc'>>>s2 = 'ab'>>>s1 > s2True>>>s1 == s2False
求字符串长度
>>>s1 = 'hello'>>>len(s1)5
求字符串中最大字符,最小字符
>>>s1 = 'hello'>>>max(s1) #求字符串s1中最大字符'o'>>>min(s1) #求字符串s2中最小字符'e'
字符串大小写转换
主要有如下方法:
例子:
>>>s1 = 'hello'>>>s2 = 'WORLD'>>>s3 = 'hello world'>>>s1.upper() 'HELLO'>>>s2.lower() 'world'>>>s3.title() 'Hello World'>>>s3.capitalize() 'Hello world'>>>s3.title().swapcase() 'hELLO wORLD'
字符串翻转
>>>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 = 'today is a fine day'>>>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 = 'today is a find day'>>>s1.replace('find','rainy')'today is a rainy day'
判断字符串组成
主要有如下方法:
例子:
>>>s1 = 'hello'>>>s1.islower()True>>>s1.isdigit()False
字符串转数组
a = 'My name is Jason'#使用split(str="", num=string.count(str)) 方法根据不同的分割符转,也可指定分割次数,可使用 ' '.join方法转回>>> 'My name is Jason'.split(' ')['My', 'name', 'is', 'Jason']>>> ' '.join(['My', 'name', 'is', 'Jason'])'My name is Jason'
字符串首尾匹配
>>> 'cat.jpg'.startswith('cat')True>>> 'cat.jpg'.startswith('cat',0,3)True>>> 'cat.jpg'.endswith('.jpg')True>>> 'cat.jpg'.endswith('.jpg',-4)True
字符串空格处理
>>> s = ' Hello World '>>> s.strip()'Hello World'>>> s.lstrip()'Hello World '>>> s.rstrip()' Hello World'#扩展>>> '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're bill's friends from the UK".title()"They'Re Bill'S Friends From The Uk"#正则处理方式>>> import re>>> def titlecase(s):... return re.sub(r"[A-Za-z]+('[A-Za-z]+)?",... lambda mo: mo.group(0)[0].upper() +... mo.group(0)[1:].lower(),... s)...>>> titlecase("they're bill's friends.")"They're Bill's Friends."#返回指定长度字符串,前面补0,一般存csv文件中含00开头的字符0会被抹掉>>> code = '1'>>> code.zfill(6)'000001'#字符串长度及遍历>>> s = '混蛋哥'>>> len(s)3>>> for i in s: print(i)混蛋哥>>>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号