Python字符串操作
本文主要记录一下python学习过程中用到的一些常用函数的操作:
1.split()函数
S.split(sep=None, maxsplit=-1) -> list of strings
- 这个函数的主要是对字符串进行切割的操作
- sep为指定的分割字符,分割后不保留
- sep未传值,将按照空白字符进行切割
- maxsplit为分割次数,若未传值,将按照最大的分割次数进行分割
- 函数的返回值为一个列表
如果你操作的字符串是一个网址,例如某度:www.baidu.com,使用split函数按照以“.”分割可以将它切成3部分
>>>str_test = 'wwww.baidu.com'
>>>str_test.split('.')
>>>['wwww', 'baidu', 'com']
该函数可以指定进行切割的字符和切割的次数
>>>str_test = 'www*baidu*com'
>>>str_test.split('*')
>>>['wwww', 'baidu', 'com']
>>>str_test = 'www*baidu*com'
>>>str_test.split('*',1)
>>>['wwww', 'baidu*com']
2.strip()函数:
S.strip([chars]) -> str
- 该函数主要是对字符串的指定字符进行除去的操作
- 还有2个类似的函数,S.lstrip([chars])和S.rstrip([chars])分别去除字符串最左测和最右侧的指定的字符
- 当rm为空时,默认删除空白符(包括’\n’, ‘\r’, ‘\t’, ’ ‘)
>>>str_test = '\nasadasasdfd '
>>>str_test.strip()
>>>'asadasasdfd'
>>>str_test = '[asdasda]'
>>>str_test.strip('[]')
>>>'asdasda'
- 还看到介绍strip()原理的算法,也贴上吧,很有趣的算法
对于s.strip([chars])函数,首先遍历chars中的首个字符,看看在S中是否处于首尾位置,如果是就去掉。把去掉后的新字符串设置为s,继续循环,从chars中的首个字符开始。如果不在,直接从chars第二个字符开始。一直循环到,s中首尾字符都不在chars中,则循环终止。
因此chars里的多个字符的先后顺序对于函数最终的处理结果并没有影响
>>>str_test = 'asdasda'
>>>str_test.strip('ad')
>>>'sdas'
>>>str_test = 'asdasda'
>>>str_test.strip('da')
>>>'sdas'