当前位置: 首页 > 后端技术 > Python

超级详细!盘点Python中对字符串的常用操作

时间:2023-03-25 19:56:51 Python

Python中字符串的表达方式有四种:一对单引号,一对双引号,一对三个单引号,一对三个双引号a='abc'b="abc"c='''abc'''d="""abc"""print(type(a))#print(type(b))#print(type(c))#print(type(d))#单双引号混合a="LiMingsay'nicetomeetyou'"也可以escaped方法里面不需要写双引号a="LiMingsay\"nicetomeetyou\""print(a)总结就是外面需要用双引号,里面需要加引号的语句可以用单引号括起来,反之亦然。通常根据个人喜好,基本都是用单引号或者双引号。在一些特殊情况下,比如需要表达多行时,可以选择三个单(双)引号,用\来乱转,直接用单引号和双引号。a='''MyNameisALiang,Let'ssay'Hello''''print(a)字符串的下标和切换下标:字符串由一个个字符组成,下标可以理解为每一个字符的编号,从0开始,依此类推。功能:通过下标对字符串中的元素进行操作#H的下标为0,e的下标为1..依此类推a='HelloWorld'#获取字符串a中下标为4的元素print(a[4])#o下标为4的元素为o。是否可以直接给修改后的字符串中的元素赋值?例如:a='HelloWorld'a[4]='k'print(a)运行上面的代码后,发现报错。TypeError:'str'objectdoesnotsupportitemassignment原因是:字符串一旦创建,里面的元素就不能修改了。所以不能直接修改字符串。字符串运算字符串运算中使用+、*、>、<、!=、=等逻辑运算符。字符串的相加操作也可以理解为拼接操作。例如:a='Hello'+'World'print(a)#HelloWorld#也可以写成a='Hello''World'print(a)#HelloWorld字符串的乘法运算可以理解为克隆操作,字符串只能与整数(n)相乘,即克隆n个字符串。a='a'print(a*2)#aab='-'print(b*10)#----------切片字符串的切片也叫字符串截取。所有的操作都是通过字符串的下标进行的。Usage:string[起始索引(start):结束索引(end):步长(step)(默认1)]步长(step):每隔(step-1)取一个元素,当step为负时,表示取元素从右到左,a='abcdefghijklmn'#从下标1到4尾切片(含1,不含4,即左开左闭)print(a[1:4])#bcdprint(a[1:8])#bcdefghprint(a[1:8:2])#步长为2,结果:bdfh#当补偿为负时,表示反向拦截。最初从坐标8开始,每隔一个元素取一个值,当下标为1时结束一个普通的字符串操作。a='HelloWorld'#获取字符串的长度print(len(a))#13#删除字符串两边的空格print(a.strip())#HelloWorld#删除左边的空格print(a.lstrip())#HelloWorld(只删除左边的空格)#删除字符串右边的空格print(a.rstrip())#HelloWorld#通过指定连接符lst链接字符串=['LiMing','Tom']print('***'.join(lst))#LiMing***Tom#首字母大写m='helloworld'print(m.capitalize())#Helloworld#返回带标题的字符串,即每个单词首字母大写print(m.title())#HelloWorld#打印出字符,把字符串放在中间,#center(width,fillchar)width:字符串总长度,fillchar:填充字符print(a.center(20,'*'))#***HelloWorld****#是否以xxx开头n='Hello'print(n.startswith('H'))#True#是否以xxx结尾print(n.endswith('o'))#True#字符串全为纯英文字符print(a.isalpha())#False,因为字符串a中'HelloWorld'有空格,所以returnFalseprint('HelloWorld'.isalpha())#True#判断所有字符串是数字还是英文打印('Hello2World'.isalnum())#Trueprint('123'.isalnum())#Trueprint('abc&11'.isalnum())#False#判断是否为整数print('123'.isdigit())#Trueprint('1.23'.isdigit())#False#判断字符是否全部为小写print('abc'.islower())#True#判断字符是否全部为大写print('Abc'.isupper())#Falseprint('ABC'.isupper())#True#字符串小写到大写print('abc'.upper())#ABC#字符串大写到小写print('ABC'.lower())#abc#Stringreplacementb='aabbcc'.replace('a','m')print(b)#mmbbcc#1代表替换次数b='aabbcc'.replace('a','m',1)print(b)#mabbcc#分割字符串切割,默认空格切割print('aabbcc'.split())#['aa','bb','cc']print('ab,cd,ef'.split(','))#['ab','cd','ef']#字符串按换行符分割a="""我叫'Python极客专栏',欢迎关注"""print(a.splitlines())#['',"我叫'Python极客专栏',",'欢迎关注','']字符串查找字符串查找常用的方法是使用index和find的函数类似,区别就是find找不到元素时返回-1,不会影响程序运行,而index会抛异常a='abcdef'#找到元素并返回对应的下标print(a.find('c'))#2print(a.find('h'))#-1print(a.index('c'))#2print(a.index('h'))#抛出异常,ValueError:substringnotfoundrfind:类似于find()函数,但从右边搜索;返回字符串最后一次出现的位置,如果没有匹配则返回-1。rindex也一样a='acmncd'#从右开始计算,返回第一个匹配的下标print(a.rfind('c'))#4print(a.rindex('c'))#4个字符串Formatname='Python极客专栏'#%s用于输出字符串print('我的公众号是:%s'%name)age=18#%d用于输出十进制数print('我的年龄是:%d'%age)money=1.23#%f浮点数,默认显示小数点后6位print('我有:%f元'%money)#指定小数点后位数print('我有are:%.2fyuan'%money)除了使用%进行格式化,格式化操作还可以使用formatprint('{}{}'.format('Hello','World'))#HelloWorldprint('{0}{1}'.format('Hello','World'))#HelloWorldprint('公众号{name},分享{code}技术'.format(name='Python极客专栏',code='Python'))#公众号Python极客专栏,分享Python技术print('{1},{0},{1}'.format('A','B'))#B,A,Bprint('今年是{}.'.format(2020))#今年是2020年。好处在文末,史上最全Python资料合集(长期更新)。隔壁的孩子都哭了---点击收藏