【4.8】python里splitlines函数

Python的split方法函数可以分割字符串成列表,默认是以空格作为分隔符sep来分割字符串。那么行的分割呢?

In [1]: s = "www jeapedu com"
 In [2]: print s.split()
 ['www', 'jeapedu', 'com']

当然可以改变sep分割字符串为其他字符串。

In [6]: t = "www.jeapedu.com"
 In [7]: print t.split(".")
 ['www', 'jeapedu', 'com']

python的字符串类里还提供了splitlines方法函数。

splitlines(...)
 S.splitlines(keepends=False) -> list of strings

Return a list of the lines in S, breaking at line boundaries.
 Line breaks are not included in the resulting list unless keepends
 is given and true.

splitlines函数什么意思呢?

u = "www.jeapedu.com\nwww.chinagame.me\nwww.quanzhan.org"
 print u.splitlines()
 ['www.jeapedu.com', 'www.chinagame.me', 'www.quanzhan.org']

这个例子不好,因为用split(’\n’)也可以分割成上面的结果。

u = "www.jeapedu.com\nwww.chinagame.me\nwww.quanzhan.org"
 print u.split("\n")
 ['www.jeapedu.com', 'www.chinagame.me', 'www.quanzhan.org']

结果一样,但是下面的测试用例就必须用splitlines了。

t = '''www.jeapedu.com
 www.chinagame.me
 www.quanzhan.org
 '''
 print t.splitlines()
 ['www.jeapedu.com', ' www.chinagame.me', ' www.quanzhan.org']

结果不太好,用strip函数去掉字符串前后的空格。

好,至此splitlines的基本使用已经解析完成,那splitlines里的参数keepends又是什么意思呢?

t = '''www.jeapedu.com
 www.chinagame.me
 www.quanzhan.org
 '''
 print t.splitlines()
 print t.splitlines(True)

默认splitelines参数keepends为False,意思是不保留每行结尾的\n, 而keepends为True时,分割的每 一行里尾部会有\n。

总结,splitlines是按行分割字符串,返回值也是个列表。

参考资料:

http://blog.csdn.net/jeapeducom/article/details/25142345?utm_source=tuicool&utm_medium=referral

个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn

Sam avatar
About Sam
专注生物信息 专注转化医学