2014-03-06 25 views
-2

实施例:把字符串转换成的行的列表在python

string = """i like to program 
i need attention 
12345 67890 
abcdefghijkl mnopqrstuvwxyz""" 
string = function(string) 
print(string) 

[ “我喜欢节目”, “我需要注意”, “12345 67890”, “ABCDEFGHIJKL mnopqrstuvwxyz”]

注意,我知道有关拆分()函数,我只是想知道是否有一个分割只有线条和没有空格的功能。

+2

'str.splitlines()' –

+0

@AshwiniChaudhary不知道分裂线。奇怪的是,它包含它,因为Python试图“只有一个明显的方法来做到这一点”,split('\ n')'对我来说很清楚。 –

+1

@PauloBu在“a \ r \ nb \ nc''上试试这两种方法。 ' –

回答

0

string.split('\n')就足够了。或明确地string.splitlines

1

您可以使用str.splitlines

>>> string = """i like to program 
... i need attention 
... 12345 67890 
... abcdefghijkl mnopqrstuvwxyz""" 
>>> string.splitlines() 
['i like to program', 'i need attention', '12345 67890', 'abcdefghijkl mnopqrstuvwxyz'] 
>>> 
2

由于@iCodez建议,最好使用str.splitlines

乍一看,这看起来可能与做split('\n'),一样,它们有不同的行为

\n python代表了一个换行符,与运行它的平台无关。但是,this representation is platform-dependent。在窗口上,\n是两个字符,即CRLF(ASCII十进制代码13和10),而在任何现代unix(包括OS X)上,它都是单个字符LF

print,例如,正常工作,即使你有行尾的字符串不您的平台相匹配:

>>> print "a\x0ab\x0d\x0ac" 
a 
b 
c 

然而,在“\ n”明确划分,将产生依赖于平台行为:

>>> "a\x0ab\x0d\x0ac".split("\n") 
['a', 'b\r', 'c'] 

出于这个原因,最好使用splitlines

>>> "a\x0ab\x0d\x0ac".splitlines() 
['a', 'b', 'c'] 
+0

很好的答案,国际海事组织你应该在dup线程中发布这一个。 85K的意见,就在Google搜索的顶部。 :) –

+0

@AshwiniChaudhary我做到了,谢谢! – goncalopp