pisahkan string menjadi 2 berdasarkan kemunculan terakhir pemisah


100

Saya ingin tahu apakah ada fungsi bawaan di python untuk memecah string menjadi 2 bagian, berdasarkan kejadian terakhir pemisah.

untuk misalnya: pertimbangkan string "abc, d, e, f", setelah pemisahan pemisah ",", saya ingin hasilnya sebagai

"abc, d, e" dan "f".

Saya tahu bagaimana memanipulasi string untuk mendapatkan output yang diinginkan, tetapi saya ingin tahu apakah ada fungsi bawaan di python.

Jawaban:


118

Gunakan rpartition(s). Itu persis seperti itu.

Anda juga bisa menggunakan rsplit(s, 1).


11
Tidak persis: "abc, d, e, f" .rpartition (',') -> ('abc, d, e', ',', 'f')
Vanuan

@Vanuan, TEPATNYA sebenarnya. Just juga mengembalikan pemisah karena satu dan lain alasan: str.rpartition (sep) Pisahkan string pada kemunculan terakhir sep, dan kembalikan 3-tupel yang berisi bagian sebelum pemisah, pemisah itu sendiri, dan bagian setelah pemisah . Jika pemisah tidak ditemukan, kembalikan 3-tupel yang berisi dua string kosong, diikuti dengan string itu sendiri.
Petar Ivanov

23
rsplit(s, 1)dan rpartition(s)keluarannya berbeda, Anda harus mengakui.
Vanuan


54

Anda dapat memisahkan string dengan kemunculan terakhir pemisah dengan rsplit:

Menampilkan daftar kata dalam string, dipisahkan oleh string pemisah (dimulai dari kanan).

Untuk memisahkan dengan koma terakhir:

>>> "a b c,d,e,f".rsplit(',', 1)
['a b c,d,e', 'f']
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.