Ich muss die Zeichenfolge abgrenzen, die eine neue Zeile enthält. Wie würde ich es erreichen? Bitte beziehen Sie sich auf den folgenden Code.
Eingang:
data = """a,b,c
d,e,f
g,h,i
j,k,l"""
Ausgabe gewünscht:
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
Ich habe die folgenden Ansätze ausprobiert:
1. output = data.split('\n')
2. output = data.split('/n')
3. output = data.rstrip().split('\n')
python
string
python-2.7
Hariharan
quelle
quelle
repr(data)
?Antworten:
str.splitlines
Methode sollte Ihnen genau das geben.quelle
str.splitlines
ist, dass es das Finale entfernt,\n
wenn es vorhanden ist. Dh,'foo\nbar\n'.split() == ['foo', 'bar', '']
währendstr.splitlines('foo\nbar\n') == ['foo', 'bar']
str.split
Standardmäßig werden alle Leerzeichen geteilt. Wenn die tatsächliche Zeichenfolge andere Leerzeichen enthält, möchten Sie diese möglicherweise verwendenOder wie @Ashwini Chaudhary in den Kommentaren vorgeschlagen hat , können Sie verwenden
quelle
.splitlines
, was ist, wenn die Saiten Leerzeichen usw. habensplit("\n")
. Istsplitlines
besser als.split("\n")
?\r\n
und andere Arten von Liniengrenzen.\n
,splitlines()
wird sie ignoriert, während am Ende des Ergebnissessplit("\n")
eine zusätzliche leere Zeichenfolge""
angezeigt wird.Wenn Sie nur nach Zeilenumbrüchen teilen möchten , ist es besser, splitlines () zu verwenden :
Beispiel:
Mit split () funktioniert es auch:
Jedoch:
quelle
data.split('\n')
?Speziell für diesen Zweck gibt es eine Methode:
quelle
Bitte schön:
quelle