python语言对字符串对象提供了大量的内置方法用于字符串的检测、替换和排版等操作。使用时需要注意的是,字符串对象是不可改变的,所以字符串对象所涉及字符串“修改”的方法都是返回修改之后的新字符串,并不是对原字符做任何修改。
>>> s = 'bird,fish,monkey,rabbit'
>>> s.find('fish') #结果为5
>>> s.find('b') #结果为0
>>> s.rfind('b') #结果为20
>>> s.find('tiger') #指定字符串不存在时返回-1
>>> s = 'bird,fish,monkey,rabbit'
>>> s.index('fish') #结果为1
>>> s.rindex('i') #结果为21
>>> s.index('tiger') #指定字符串不存在时抛出异常:substring not find
>>> s = 'bird,fish,monkey,rabbit'
>>> s.count('fish') #结果为1
>>> s.count('b') #结果为3
>>> s.count('tiger') #指定字符串不存在时返回0
>>> 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) #从右开始,最多分隔两次,分出“杭州”和“无锡”
['南京 上海 天津', '杭州', '无锡']
>>> 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', '', '')
>>> s = ['apple', 'banana', 'pear', 'peach']
>>> ':'.join(s) #用':'作为连接字符
'apple:banana:pear:peach'
>>> '-'.join(s) #用'-'作为连接字符
'apple-banana-pear-peach'
>>> 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.'
>>> s = "你是我的小呀小苹果儿"
>>> s.replace("小","small")
'你是我的small呀small苹果儿'
>>> s = " abc "
>>> s.strip() #删除两端空白字符,返回'abc'
>>> s.rstrip() #删除右端空白字符,返回' abc'
>>> s.lstrip() #删除左端空白字符,返回'abc '
>>> s = "===mike==="
>>> s.strip('=') #删除两端指定字符‘=’,返回'mike'
>>> s.rstrip('=') #删除右端指定字符‘=’,返回'===mike'
>>> s.lstrip('=') #删除右端指定字符‘=’,返回'mike==='
>>> s = "Python程序设计.py"
>>> s.startswith("Python") #检测字符串是否以“Python”开始
True
>>> s.endswith("py") #检测字符串是否以“py”结束
True
>>> 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
>>> 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'