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:\usr\bin\env
可以看到,需要被连接的序列元素都必须是字符串。注意最后两个例子中使用了目录的列表,而在格式化时,根据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基础教程》