问题:在Python中使用换行符分隔字符串
我需要定界包含新行的字符串。我将如何实现?请参考下面的代码。
输入:
data = """a,b,c
d,e,f
g,h,i
j,k,l"""
所需的输出:
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
我尝试了以下方法:
1. output = data.split('\n')
2. output = data.split('/n')
3. output = data.rstrip().split('\n')
回答 0
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']
回答 1
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']
str.split
,默认情况下,按所有空白字符分割。如果实际的字符串还有其他空格字符,则可能要使用
print(data.split("\n")) # ['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
或者按照评论中的@Ashwini Chaudhary的建议,可以使用
print(data.splitlines())
回答 2
如果只想用换行符分割,最好使用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']
使用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']
然而:
>>> data = """
... a, eqw, qwe
... v, ewr, err
... """
>>> data
'\na, eqw, qwe\nv, ewr, err\n'
>>> data.split()
['a,', 'eqw,', 'qwe', 'v,', 'ewr,', 'err']
回答 3
有专门用于此目的的方法:
data.splitlines()
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
回答 4
干得好:
>>> data = """a,b,c
d,e,f
g,h,i
j,k,l"""
>>> data.split() # split automatically splits through \n and space
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
>>>
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。