2014-03-06 26 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