我们来学习Python的另一种序列——字符串。
基本的字符串操作
同样的,之前介绍的序列的基本操作对字符串也是适用的,如索引、分片等。
字符串格式化
字符串格式化使用了格式化操作符%来实现,%s部分被称为转换说明符,它标记了需要插入的转换值的位置。若该值不是字符串,则会使用str将其转换为字符串。只有使用元组和字典时可以格式化一个以上的值,且使用元组时要将其用圆括号包括起来。
>>>'%s sub % equals %s' %(4,2,2)
'4 sub 2 equals 2'
转换说明符可以包括字段宽度和精度。字段宽度是转换后的值所保留的最小字符个数,精度为结果中包含的小数。
>>>'%10f' % pi
' 3.1415926'
>>>'%.5s' % 'Gudio van Rosum'
'Gudio'
字符串方法
find
用于字符串中查找子串, 返回子串所在位置的最左端索引。没找到返回-1.
>>>'how are you'.find('you')
7
join
用来连接序列中的元素。需要被连接的序列元素必须是字符串。
>>>seq=['1','2','3']
>>>sep='+'
>>>sep.join(seq)
'1+2+3'
lower
返回字符串的小写字母。
replace
返回某字符串的所有匹配项均被替换后得到的字符串。
>>>'how is you'.replace('is','are')
'how are you'
split
join的逆方法,将字符串分割成序列。
>>>'1+2+3'.split('+')
['1','2','3']
strip
去除两侧空格的字符串。
>>>' how are you '.strip()
'how are you'
translate
也可以替换字符串的某部分,与replace不同的是,它只是处理单个字符,并且可以进行多个替换,有时比replace效率高。在转换之前,需要完成转换表,表内存储某字符替换另一字符的对应关系。可以使用maketrans函数实现。
>>>from string import maketrans
>>>table=maketrans('cs','kz')
>>>table[97:123]
'abkdefghijklmnopqrztuvwxyz'