Necesito delimitar la cadena que tiene una nueva línea. ¿Cómo lo lograría? Consulte el código a continuación.
Entrada:
data = """a,b,c
d,e,f
g,h,i
j,k,l"""
Salida deseada:
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
He probado los siguientes enfoques:
1. output = data.split('\n')
2. output = data.split('/n')
3. output = data.rstrip().split('\n')
python
string
python-2.7
Hariharan
fuente
fuente

repr(data)?Respuestas:
str.splitlinesEl método debería darte exactamente eso.fuente
str.splitlineses que eliminará la final\nsi está presente. Es decir,'foo\nbar\n'.split() == ['foo', 'bar', '']mientrasstr.splitlines('foo\nbar\n') == ['foo', 'bar']str.split, de forma predeterminada, se divide por todos los caracteres de espacio en blanco. Si la cadena real tiene otros caracteres de espacio en blanco, es posible que desee utilizarO como @Ashwini Chaudhary sugirió en los comentarios , puede usar
fuente
.splitlines, ¿qué pasa si las cuerdas tienen espacios, etc.?split("\n"). Essplitlinesmejor que.split("\n")?\r\notros tipos de límites de línea.\n, lasplitlines()ignorará, mientrassplit("\n")que tendrá una cadena vacía adicional""al final del resultado.Si desea dividir solo por nuevas líneas , es mejor usar splitlines () :
Ejemplo:
Con split () también funciona:
Sin embargo:
fuente
data.split('\n')?Existe un método específicamente para este propósito:
fuente
Aqui tienes:
fuente