Har*_*ran 80 python string python-2.7
我需要分隔包含新行的字符串.我怎么做到这一点?请参考以下代码.
输入:
data = """a,b,c
d,e,f
g,h,i
j,k,l"""
Run Code Online (Sandbox Code Playgroud)
所需输出:
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
Run Code Online (Sandbox Code Playgroud)
我尝试过以下方法:
1. output = data.split('\n')
2. output = data.split('/n')
3. output = data.rstrip().split('\n')
Run Code Online (Sandbox Code Playgroud)
wim*_*wim 155
str.splitlines 方法应该给你这个.
>>> data = """a,b,c
... d,e,f
... g,h,i
... j,k,l"""
>>> data.splitlines()
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
Run Code Online (Sandbox Code Playgroud)
Kir*_*aLT 10
如果您只想按换行分割,最好使用splitlines():
例:
>>> data = """a,b,c
... d,e,f
... g,h,i
... j,k,l"""
>>> data
'a,b,c\nd,e,f\ng,h,i\nj,k,l'
>>> data.splitlines()
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
Run Code Online (Sandbox Code Playgroud)
使用split()它也有效:
>>> data = """a,b,c
... d,e,f
... g,h,i
... j,k,l"""
>>> data
'a,b,c\nd,e,f\ng,h,i\nj,k,l'
>>> data.split()
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
Run Code Online (Sandbox Code Playgroud)
然而:
>>> data = """
... a, eqw, qwe
... v, ewr, err
... """
>>> data
'\na, eqw, qwe\nv, ewr, err\n'
>>> data.split()
['a,', 'eqw,', 'qwe', 'v,', 'ewr,', 'err']
Run Code Online (Sandbox Code Playgroud)
data = """a,b,c
d,e,f
g,h,i
j,k,l"""
print(data.split()) # ['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
Run Code Online (Sandbox Code Playgroud)
str.split默认情况下,按所有空白字符拆分.如果实际字符串具有任何其他空白字符,则可能需要使用
print(data.split("\n")) # ['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
Run Code Online (Sandbox Code Playgroud)
或者正如@Ashwini Chaudhary在评论中建议的那样,你可以使用
print(data.splitlines())
Run Code Online (Sandbox Code Playgroud)
有一种专门用于此目的的方法:
data.splitlines()
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
Run Code Online (Sandbox Code Playgroud)