Apa yang akan menjadi cara terbaik untuk memisahkan sebuah string pada kemunculan pembatas pertama kali?
Sebagai contoh:
"123mango abcd mango kiwi peach"
berpisah pada yang pertama mango
untuk mendapatkan:
"abcd mango kiwi peach"
Dari dokumen :
str.split([sep[, maxsplit]])
Kembalikan daftar kata-kata dalam string, menggunakan sep sebagai string pembatas. Jika maxsplit diberikan, paling banyak pembagian maxsplit dilakukan (dengan demikian, daftar akan memiliki paling banyak
maxsplit+1
elemen).
s.split('mango', 1)[1]
maxsplit
hitungan, elemen terakhir dalam daftar akan berisi sisa string (termasuk semuasep
karakter / string).sumber
Bagi saya pendekatan yang lebih baik adalah:
... karena jika terjadi kejadian itu tidak ada dalam string, Anda akan mendapatkan "
IndexError: list index out of range"
.Karena itu
-1
tidak akan mendapatkan kerugian karena jumlah kejadian sudah diatur ke satu.sumber
Anda juga dapat menggunakan
str.partition
:Keuntungan menggunakan
str.partition
adalah selalu mengembalikan tuple dalam bentuk:Jadi ini membuat membongkar output sangat fleksibel karena selalu ada 3 elemen dalam tuple yang dihasilkan.
sumber
Ini akan membagi data dengan kemunculan pertama '.' dalam nilai kolom string atau data frame.
sumber