Saya perlu membatasi string yang memiliki baris baru di dalamnya. Bagaimana saya mencapainya? Silakan lihat kode di bawah ini.
Memasukkan:
data = """a,b,c
d,e,f
g,h,i
j,k,l"""
Output yang diinginkan:
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
Saya telah mencoba pendekatan di bawah ini:
1. output = data.split('\n')
2. output = data.split('/n')
3. output = data.rstrip().split('\n')
python
string
python-2.7
Hariharan
sumber
sumber
repr(data)
?Jawaban:
str.splitlines
Metode harus memberi Anda persis seperti itu.sumber
str.splitlines
adalah bahwa ia akan menghapus final\n
jika ada. Yaitu,'foo\nbar\n'.split() == ['foo', 'bar', '']
sementarastr.splitlines('foo\nbar\n') == ['foo', 'bar']
str.split
, secara default, dipisahkan menurut semua karakter spasi. Jika string sebenarnya memiliki karakter spasi putih lain, Anda mungkin ingin menggunakanAtau seperti yang disarankan @Ashwini Chaudhary di komentar , Anda dapat menggunakan
sumber
.splitlines
, bagaimana jika string memiliki spasi, dll.split("\n")
. Apakahsplitlines
lebih baik dari.split("\n")
?\r\n
dan jenis batas garis lainnya juga.\n
,splitlines()
akan mengabaikannya sementarasplit("\n")
akan memiliki string kosong tambahan""
di akhir hasil.Jika Anda ingin membagi hanya dengan garis baru , lebih baik menggunakan garis terpisah () :
Contoh:
Dengan split () ini juga berfungsi:
Namun:
sumber
data.split('\n')
?Ada metode khusus untuk tujuan ini:
sumber
Ini dia:
sumber