Memisahkan Rentetan dengan Berbilang Pembatas dalam Python
Banyak tugas dalam pengaturcaraan melibatkan memanipulasi rentetan. Apabila bekerja dengan rentetan yang mengandungi berbilang pembatas, seperti koma bertitik dan koma, membahagikannya dengan cekap adalah penting.
Menggunakan Ungkapan Biasa
Satu pendekatan biasa ialah menggunakan ungkapan biasa. Pertimbangkan contoh rentetan:
"b-staged divinylsiloxane-bis-benzocyclobutene [124221-30-3], mesitylene [000108-67-8]; polymerized 1,2-dihydro-2,2,4- trimethyl quinoline [026780-96-1]"
Untuk memisahkan rentetan ini dengan sama ada koma bertitik atau koma diikuti dengan ruang, kita boleh menggunakan ungkapan biasa berikut:
'; |, '
Corak ini sepadan sama ada koma bertitik atau koma diikuti dengan ruang. Menggunakan fungsi re.split(), kita boleh membelah rentetan seperti berikut:
import re re.split('; |, ', "b-staged divinylsiloxane-bis-benzocyclobutene [124221-30-3], mesitylene [000108-67-8]; polymerized 1,2-dihydro-2,2,4- trimethyl quinoline [026780-96-1]")
Nota: Koma individu tanpa ruang mengekor tidak akan dipisahkan.
Kemas kini: Corak Delimeter Lanjutan
Penyelesaian yang diberikan boleh dilanjutkan lagi untuk memasukkan tambahan pembatas. Contohnya, untuk memisahkan rentetan berikut dengan koma bertitik, koma, asterisk dan baris baharu:
"Beautiful, is; better*than\nugly"
Ungkapan biasa akan menjadi:
'; |, |\*|\n'
Menggunakan fungsi re.split() seperti sebelum ini:
re.split('; |, |\*|\n', 'Beautiful, is; better*than\nugly')
Ini akan menghasilkan hasil pemisahan berikut:
['Beautiful', 'is', 'better', 'than', 'ugly']
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memisahkan Rentetan dengan Berbilang Pembatas dalam Python Menggunakan Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!