1. find
find方法可以在一个较长的字符串中查找子字符串。它返回子串所在位置的最左端索引。如果没找到则返回-1
>>> 'With a moo-moo here, and a moo-moo there'.find('moo')
7
>>> subject = '$$$ Get rich now!!! $$$'
>>> subject.find('$$$')
0
>>> subject.find('$$$', 1) # 只提供起点,从1开始
20
>>> subject.find('!!!')
16
>>> subject.find('!!!', 0, 16) # 提供起始点和结束点
-1
2. join
join是非常重要的字符串方法,它是split方法的逆方法,用来在队列中添加元素。注意:需要添加的队列元素都必须是字符串!!!
>>> seq = ['1', '2', '3', '4']
>>> sep = '+'
>>> sep.join(sep) # 连接字符串列表
'1+2+3+4'
>>> dies = '', 'usr', 'bin', 'env'
>>> '/'.join(dies)
'/usr/bin/env'
>>> print('C:' + '\\'.join(dies))
C:\\usr\\bin\\env
3. split
是join的逆方法,用来将字符串分割成序列。注意:如果不提供任何分隔符,程序会把所有空格作为分隔符(空格、制表、换行等)!
>>> '1+2+3+4'.split('+')
['1', '2', '3', '4']
>>> 'Using the default'.split()
['Using', 'the', 'default']
4. lower
lower方法返回字符串的小写字母版
5. replace
replace方法返回某字符串的所有匹配项均被替换之后得到的字符串
>>> 'This is a test'.replace('is', 'eez')
'Theez eez a test'
6. strip
strip方法返回去除两侧(不包括内部)空格的字符串。也可以指定需要去除的字符,将他们列为参数即可。 这个方法只会去除两侧的字符。
>>> ' internal whitespace is kept '.strip()
'internal whitespace is kept'
>>> '*** SPAM * for * everyone!!! ***'.strip('!*')
'SPAM * for * everyone'
7. translate
translate方法和replace方法一样,可以替换字符串中的某些部分,但是与之不同的是,translate方法只处理单个字符。它的优势在于可以同时进行多个替换,有些时候比replace效率高得多。
在使用translate转换之前,需要先完成一张转换表。转换表中是以某字符替换某字符的对应关系。因为这个表(事实上是字符串)有多达256个项目,可以使用string模块里面的maketrans函数就行。
>>> from string import maketrans
>>> table = maketrans('cs', 'kz')
>>> 'this is an incredible test'.translate(table)
'this iz an incredible tezt'
translate的第二个参数是可选的,这个参数是用来指定需要删除的字符。
>>> 'this is an incredible test'.translate(table, ' ')
'thisizanincredibletezt'