python之字符串方法

1、Find

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

例:

>>> 'welcome to shanghai'.find('to')
8
>>> title = "hello shanghai!"
>>> title.find('hello')
0
>>> title.find('python')
-1

2、Join

join方法是非常重要的字符串方法,它是split方法的逆向法,用来连接序列中的元素:

>>> seq = [1,2,3,4,5]
>>> sep = '+'
>>> sep.join(seq)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected str instance, int found
>>> seq = ['1','2','3','4','5']
>>> sep.join(seq)
'1+2+3+4+5'
>>> dirs = '','usr','bin','env'
>>> '/'.join(dirs)
'/usr/bin/env'
>>> print('C:'+'\'.join(dirs))
C:usrinenv

可以看到,需要被连接的序列元素都必须是字符串。注意最后两个例子中使用了目录的列表,而在格式化时,根据Unix和Dos/Windows的约定,使用了不同的分隔符号。

3、Lower

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

>>> "Welcome To Shanghai!".lower()
'welcome to shanghai!'

如果要想编写“不区分大小写”的代码的话,那么这个方法就派上用场了,代码会忽略大小写状态。例如,如果想在列表中查找一个用户名是否存在:列表包含字符串‘to’,而用户输入的是'TO',就找不到了:

>>> if 'TO' in ['welcome','to','shanghai']:
...     print('exitst')
...
>>>

解决方法:

在存储和搜索时把所有名字都转换为小写。

>>> name = 'TO'
>>> names = ['welcome','to','shanghai']
>>> if name.lower() in names:
...     print('exitst')
...
exitst

4、Replace

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

>>> 'welcome TO shanghai!'.replace('TO','to')
'welcome to shanghai!'

5、Split

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

>>> '1+2+3+4+5'.split('+')
['1', '2', '3', '4', '5']
>>> '/usr/bin/env'.split('/')
['', 'usr', 'bin', 'env']
>>> 'welcome to shanghai'.split()
['welcome', 'to', 'shanghai']

注:如果不提供任何分割符,程序会把所有空格作为分隔符(空格、制表,换行等)。

6、Strip

strip方法返回默认去除两侧空格的字符串:

>>> ' welcome to shanghai! '
' welcome to shanghai! '
>>> ' welcome to shanghai! '.strip()
'welcome to shanghai!'
>>> names = ['welcome','to','shanghai']
>>> name = 'to '
>>> if name in names:
...     print('exitst')
...
>>> if name.strip() in names:
...     print('exitst')
...
exitst

也可以指定需要去除的字符。

>>> '* welcome to shanghai! *'.strip('*')
' welcome to shanghai! '

文献《Python基础教程》

原文地址:https://www.cnblogs.com/TaleG/p/8675171.html