Python字符串处理方法

Python内置字符串处理方法

python语言对字符串对象提供了大量的内置方法用于字符串的检测、替换和排版等操作。使用时需要注意的是,字符串对象是不可改变的,所以字符串对象所涉及字符串“修改”的方法都是返回修改之后的新字符串,并不是对原字符做任何修改。

字符串查找类方法

  • find()和rfind()方法分别用来查找一个字符串在另一个字符串指定范围(默认是整个字符串)中首次和最后一次出现的位置,如果不存在则返回-1。
>>> s = 'bird,fish,monkey,rabbit'
>>> s.find('fish')	#结果为5
>>> s.find('b')		#结果为0
>>> s.rfind('b')	#结果为20
>>> s.find('tiger')	#指定字符串不存在时返回-1
  • index()和rindex()方法分别用来查找一个字符串在另一个字符串指定范围(默认是整个字符串)中首次和最后一次出现的位置,如果不存在则抛出异常。
>>> s = 'bird,fish,monkey,rabbit'
>>> s.index('fish')	 #结果为1
>>> s.rindex('i')	 #结果为21
>>> s.index('tiger') #指定字符串不存在时抛出异常:substring not find
  • count()方法用来返回一个字符串在另一个字符串中出现的次数。如果不存在则返回0.
>>> s = 'bird,fish,monkey,rabbit'
>>> s.count('fish')	 #结果为1
>>> s.count('b')	 #结果为3
>>> s.count('tiger') #指定字符串不存在时返回0

字符串分隔类方法

  • split()和rsplit()方法分别用来以指定字符为分隔符,从原字符串左端和右端来时将其分隔成多个字符串,并返回包含分隔结果的列表。
>>> s = 'bird,fish,monkey,rabbit'
>>> s.split()	#按照‘,’分隔字符串
['bird,fish,monkey,rabbit']
>>> s = 'I am a boy'
>>> s.split()	#默认按照空白符号分隔字符,包括空格、换行符、制表符等
['I', 'am', 'a', 'boy']
>>> s.rsplit()
['I', 'am', 'a', 'boy']

split()和rsplit()方法可以指定分隔次数,当然并不是一定要分这么多次。

>>> s = "南京 上海 天津 杭州 无锡"
>>> s.split(maxsplit = 2)	#从左开始,最多分隔两次,分出“南京”和“上海”
['南京', '上海', '天津 杭州 无锡']
>>> s.rsplit(maxsplit = 2)	#从右开始,最多分隔两次,分出“杭州”和“无锡”
['南京 上海 天津', '杭州', '无锡']
  • partition()和rpartition()方法用来以指定字符串为分隔符将原字符串分隔为3个部分,即分隔符之前的字符串、分隔符字符串和分隔符之后的字符串。如果指定字符串不在原字符串中,则返回原字符串和两个空字符串。如果字符串中有多个分隔符,那么partition()方法按从左到右遇到的第一个字符串来进行分隔,rpartition()方法按从右到左遇到的第一个字符串来进行分隔。
>>> s = 'bird,fish,monkey,fish,rabbit'
>>> s.partition('fish')		#按左端的第一个fish将字符串分成三个部分
('bird,', 'fish', ',monkey,fish,rabbit')
>>> s.rpartition('fish')	#按左端的第一个fish将字符串分成三个部分
('bird,fish,monkey,', 'fish', ',rabbit')
>>> s.partition('tiger')	#分隔符不存在,则返回原字符串和两个空串
('bird,fish,monkey,fish,rabbit', '', '')

字符串连接方法

  • join()方法用来将列表中多个字符串进行连接,并在两个相邻字符串之间插入指定字符,返回新字符串。
>>> s = ['apple', 'banana', 'pear', 'peach']
>>> ':'.join(s)	#用':'作为连接字符
'apple:banana:pear:peach'
>>> '-'.join(s)	#用'-'作为连接字符
'apple-banana-pear-peach'

大小写字符转换方法

  • lower()方法用来将字符串转换为小写字符串;upper()方法用来将字符串转换为大写字符串;capitalize()方法用来将字符串首字母变成大写;title()方法用来将字符串中每个单词的首字母变成大写;swapcase()方法用来将字符串中的字符大小写互换。以上字符串转换方法会生成新的字符串,不对原字符串做任何修改。
>>> s = "I am a boy."
>>> s.lower()		#返回小写字符串,返回'i am a boy.'
>>> s.upper()		#返回小写字符串,返回'I AM A BOY.'
>>> s.capitalize()	#首字母大写,返回'I am a boy.'
>>> s.title()		#每个单词首字母大写,返回'I Am A Boy.'
>>> s.swapcase()	#大小写互换,返回'i AM A BOY.'

字符串替换方法

  • replace()方法用来替换字符串中指定字符或者子字符串,每次只能替换一个字符或者字符串,该方法不修改原字符串,而是返回一个新字符串。
>>> s = "你是我的小呀小苹果儿"
>>> s.replace("小","small")
'你是我的small呀small苹果儿'

字符串删除方法

  • strip()、rstrip()、lstrip()方法分别用来删除字符串两端、右端或左端连续空白字符和指定字符。
>>> s = "   abc   "
>>> s.strip()		#删除两端空白字符,返回'abc'
>>> s.rstrip()		#删除右端空白字符,返回'   abc'
>>> s.lstrip()		#删除左端空白字符,返回'abc   '
>>> s = "===mike==="
>>> s.strip('=')	#删除两端指定字符‘=’,返回'mike'
>>> s.rstrip('=')	#删除右端指定字符‘=’,返回'===mike'
>>> s.lstrip('=')	#删除右端指定字符‘=’,返回'mike==='

判断字符串是否以指定字符开始或结束方法

  • 判断字符串是否以指定字符开始或结束方法:startswith()、endswith()
>>> s = "Python程序设计.py"
>>> s.startswith("Python")	#检测字符串是否以“Python”开始
True
>>> s.endswith("py")		#检测字符串是否以“py”结束
True

判断字符串类型方法

  • 判断字符串类型方法:isupper()、islower()、isdigit()、isalnum()、isalpha()。
>>> s = "years"
>>> s.islower()			#判断字符串是否为全小写,返回True
>>> s = "YEARS"	
>>> s.isupper()			#判断字符串是否为全大写,返回True
>>> s = "20180462"
>>> s.isdigit()			#判断字符串是否为全数字,返回True
>>> s = "He is 10 years old"
>>> s = s.replace(" ","")	#替换点字符串中的空格,返回'Heis10yearsold'
>>> s.isalnum()			#判断字符串是否为全数字或字母,返回True
>>> s.isalpha()			#判断字符串是否为全字母,返回False

字符串排版方法

  • python语言中字符串排版方法有4种:center()、ljust()、rjust()和zfill()。
>>> s = "Hello Mike"
>>> s.center(30,"=")	#字符串居中对齐,输出宽度为30,不足的以“=”填充
'==========Hello Mike=========='
>>> s.ljust(20,"*")		#字符串居左对齐,输出宽度为30,不足的以“*”填充
'Hello Mike**********'
>>> s.rjust(20,"*")		#字符串居右对齐,输出宽度为30,不足的以“*”填充
'**********Hello Mike'
>>> s.zfill(20)			#输出宽度为20,在字符串左侧以字符“0”填充
'0000000000Hello Mike'

你可能感兴趣的:(python)