一、strip函数原型

声明:s为字符串,rm为要删除的字符序列

删除s字符串中开头、结尾处,位于rm删除序列的字符

删除s字符串中开头处,位于 rm删除序列的字符

删除s字符串中结尾处,位于 rm删除序列的字符

如下: 

​​>>> a=​​        ​​'hheloooo goooodbyyyye'​​       


​​>>> a.strip(​​ ​​'helo '​​ ​​)​​


​​'goooodbyyyy'​​


​​>>> a.strip(​​ ​​'he'​​ ​​)​​


​​'loooo goooodbyyyy'​​


​​>>> a.strip(​​ ​​'o'​​ ​​)​​


​​'hheloooo goooodbyyyye'​​


​​>>>​​


从首尾开始找.先从首位找到'h'在['h','e','l','o']内把'h'去掉,发现第二个'h'依然还在['h','e','l','o']内再次去掉'h',往后推,发现'e'还在['h','e','l','o']内,继续去掉'e',同理一直往下推.

从尾部开始发现'e'在['h','e','l','o']内,去掉'e',再发现'y'不在['h','e','l','o']内,所以就停止了.

 

 

当rm为空时,默认删除空白符(包括'\n', '\r',  '\t',  ' ')

​​>>> a=​​        ​​'    a\n\tbc'​​       


​​>>> print a​​


​​a​​


​​bc​​


​​>>> a.strip()​​


​​'a\n\tbc'​​


​​>>> a=​​ ​​' abc'​​


​​>>> a.strip()​​


​​'abc'​​


​​>>> a=​​ ​​'\n\tabc'​​


​​>>> a.strip()​​


​​'abc'​​


​​>>> a=​​ ​​'abc\n\t'​​


​​>>> a.strip()​​


​​'abc'​​


​​>>>​​

这里的rm删除序列是只要边(开头或结尾)上的字符在删除序列内,就删除掉

​​>>> a=​​        ​​'123abc'​​       


​​>>> a.strip(​​ ​​'21'​​ ​​)​​


​​'3abc'​​


​​>>> a.strip(​​ ​​'12'​​ ​​)​​


​​'3abc'​​


​​>>> a.strip(​​ ​​'1a'​​ ​​)​​


​​'23abc'​​


​​>>> a.strip(cb)​​


​​Traceback (most recent call last):​​


​​File ​​ ​​"<stdin>"​​ ​​, line 1, ​​ ​​in​​ ​​<module>​​


​​NameError: name ​​ ​​'cb'​​ ​​is not defined​​


​​>>> a.strip(​​ ​​'cb'​​ ​​)​​


​​'123a'​​


​​>>> a.strip(​​ ​​'bc'​​ ​​)​​


​​'123a'​​


​​>>>​​

二、split函数

是分割函数,将字符串分割成“字符”,保存在一个列表中。


1



2



3


​>>> a=​​ ​​'a b c d'​



​>>> a.​​ ​​split​​ ​​()​



​[​​ ​​'a'​​ ​​, ​​ ​​'b'​​ ​​, ​​ ​​'c'​​ ​​, ​​ ​​'d'​​ ​​]​



默认不带参数为空格分割。之所以为双引号的“字符”,因为实际python没有字符的。

​​>>> b=​​        ​​'abc efg hij kkj'​​       


​​>>> b.​​ ​​split​​ ​​()​​


​​[​​ ​​'abc'​​ ​​, ​​ ​​'efg'​​ ​​, ​​ ​​'hij'​​ ​​, ​​ ​​'kkj'​​ ​​]​​

还可以带参数根据实际需求进行分割

​​>>> c=​​        ​​'name=ding|age=25|job=it'​​       


​​>>> c.​​ ​​split​​ ​​(​​ ​​'|'​​ ​​)​​


​​[​​ ​​'name=ding'​​ ​​, ​​ ​​'age=25'​​ ​​, ​​ ​​'job=it'​​ ​​]​​


​​>>> c.​​ ​​split​​ ​​(​​ ​​'|'​​ ​​)[0].​​ ​​split​​ ​​(​​ ​​'='​​ ​​)​​


​​[​​ ​​'name'​​ ​​, ​​ ​​'ding'​​ ​​]​​

还可以带上数字参数,表示“切几刀”如:

 

​​>>> d=​​        ​​'a b c d e'​​       


​​>>> d.​​ ​​split​​ ​​(​​ ​​' '​​ ​​,1)​​ ​​#以空格“切一刀”,就分成两块了​​


​​[​​ ​​'a'​​ ​​, ​​ ​​'b c d e'​​ ​​]​​


​​>>> d.​​ ​​split​​ ​​(​​ ​​' '​​ ​​,2)​​


​​[​​ ​​'a'​​ ​​, ​​ ​​'b'​​ ​​, ​​ ​​'c d e'​​ ​​]​​


​​>>> d.​​ ​​split​​ ​​(​​ ​​' '​​ ​​,3)​​


​​[​​ ​​'a'​​ ​​, ​​ ​​'b'​​ ​​, ​​ ​​'c'​​ ​​, ​​ ​​'d e'​​ ​​]​​


​​>>> d.​​ ​​split​​ ​​(​​ ​​' '​​ ​​,-1) ​​ ​​#d.split(' ')结果一样​​


​​[​​ ​​'a'​​ ​​, ​​ ​​'b'​​ ​​, ​​ ​​'c'​​ ​​, ​​ ​​'d'​​ ​​, ​​ ​​'e'​​ ​​]​​


​​>>> d.​​ ​​split​​ ​​(​​ ​​' '​​ ​​)​​


​​[​​ ​​'a'​​ ​​, ​​ ​​'b'​​ ​​, ​​ ​​'c'​​ ​​, ​​ ​​'d'​​ ​​, ​​ ​​'e'​​ ​​]​​

 

本文出自 “​​丁同学1990​​​” 博客,请务必保留此出处​​http://dingtongxue1990.blog.51cto.com/4959501/1675499​