python学习笔记(字符串)

基本字符串操作

所有标准的序列操作(索引、分片、乘法、判断成员资格、求长度、取最大值和最小值),对字符串同样适用。但是,字符串是不可改变的。

字符串方法

字符串的方法实在太多,这里只介绍一些特别有用的。

find

find方法可以在一个较长的字符串中查找子字符串,它返回子字符串所在位置的最左端索引。如果没找到,则返回-1

>>> 'With a moo-moo here. and a moo-moo there'.find('moo')
7
>>> title="Monty Python's Flying Circus"
>>> title.find('Monty')
0
>>> title.find('Python')
6
>>> title.find('Flying')
15
>>> title.find('Zirquss')
-1

这个方法还可以接受可选的起始点和结束点参数。

>>> subject='$$$ Get rich now!!! $$$'
>>> subject.find('$$$')
0
>>> subject.find('$$$',1)#只提供起始点
20
>>> subject.find('!!!')
16
>>> subject.find('!!!',0,16)#提供起始点和结束点
-1

join

join方法是非常重要的字符串方法,它是split方法的逆方法,用来在队列中添加元素

>>> seq=['1','2','3','4','5']
>>> sep='+'
>>> sep.join(seq)
'1+2+3+4+5'
>>> dirs='','usr','bin','env'
>>> '/'.join(dirs)
'/usr/bin/env'
>>> print 'C:'+'\'.join(dirs)
C:usrinenv

lower

lower方法返回字符串的小写字母版

>>> 'Trondheim Hammer Dance'.lower()
'trondheim hammer dance'

如果想要编写‘不区分大小写’的代码话,这个方法就派上用场了--代码会忽略大小写状态
>>> name='Gumby'
>>> names=['gumby','smith','jones']
>>> if name.lower() in names: print 'found it!'

found it!

replace

replace方法返回某字符串的所有匹配项均被替换之后的得到字符串

>>> 'This is test'.replace('is','eez')
'Theez eez test'

split

split是一个非常重要的方法,它是join的逆方法,用来将字符串分割成序列。

>>> '1+2+3+4+5'.split('+')
['1', '2', '3', '4', '5']
>>> '/usr/bin/env'.split('/')
['', 'usr', 'bin', 'env']
>>> 'Using the default'.split()
['Using', 'the', 'default']

(如果不提供任何分隔符,程序会把所有空格当成分隔符)

strip

strip方法返回去除两侧(不包括内部)空格的字符串

>>> ' internal whitespace is kept '.strip()
'internal whitespace is kept'
>>> '***SPAM*for*everyone!!!***'.strip('*!')
'SPAM*for*everyone'

translate

translate和replace方法一样,都可以替换字符串中的某些部分,不同的是,translate只能替换单个字符

maketrans函数接受两个参数:两个等长的字符串,表示第一个字符串中的字符都用第二个字符串中相同位置的字符替换

>>> from string import maketrans
>>> intab='aeiou'
>>> outab='12345'
>>> trantab=maketrans(intab,outab)
>>> str='this is string example....wow'
>>> print str.translate(trantab)
th3s 3s str3ng 2x1mpl2....w4w

原文地址:https://www.cnblogs.com/whats/p/4683159.html