string = """i like to program
i need attention
12345 67890
abcdefghijkl mnopqrstuvwxyz"""
string = function(string)
print(string)
[ 「我喜歡節目」, 「我需要注意」, 「12345 67890」, 「ABCDEFGHIJKL mnopqrstuvwxyz」]
注意,我知道有關拆分()函數,我只是想知道是否有一個分割只有線條和沒有空格的功能。
string = """i like to program
i need attention
12345 67890
abcdefghijkl mnopqrstuvwxyz"""
string = function(string)
print(string)
[ 「我喜歡節目」, 「我需要注意」, 「12345 67890」, 「ABCDEFGHIJKL mnopqrstuvwxyz」]
注意,我知道有關拆分()函數,我只是想知道是否有一個分割只有線條和沒有空格的功能。
string.split('\n')
就足夠了。或明確地string.splitlines
。
您可以使用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']
>>>
由於@iCodez建議,最好使用str.splitlines
。
乍一看,這看起來可能與做split('\n')
,一樣,它們有不同的行爲。
\n
python代表了一個換行符,與運行它的平臺無關。但是,this representation is platform-dependent。在窗口上,\n
是兩個字符,即CR
和LF
(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']
很好的答案,國際海事組織你應該在dup線程中發佈這一個。 85K的意見,就在Google搜索的頂部。 :) –
@AshwiniChaudhary我做到了,謝謝! – goncalopp
'str.splitlines()' –
@AshwiniChaudhary不知道分裂線。奇怪的是,它包含它,因爲Python試圖「只有一個明顯的方法來做到這一點」,split('\ n')'對我來說很清楚。 –
@PauloBu在「a \ r \ nb \ nc''上試試這兩種方法。 ' –