Javascript dan regex: mengekalkan pemisah apabila membelah rentetan
Objektifnya adalah untuk membelah rentetan dengan pembatas tertentu, tetapi juga mengekalkan pembatas. Contoh rentetan ialah "aaaaa
† bbbb
‡ cccc", yang perlu dipisahkan menggunakan "
&" diikuti dengan watak istimewa.
Pendekatan awal, string.split(/
[a-zA-Z0-9] ;/g), menghapuskan pembatas. Untuk mengekalkannya, pertimbangkan pilihan berikut:
"1、2、3".split(/(、)/g) == ["1", "、", "2", "、", "3"]
Perhatikan bahawa kaedah ini boleh digunakan untuk memisahkan aksara atau jujukan aksara.
"1、2、3".split(/(?!、)/g) == ["1、", "2、", "3"]
Pendekatan ini akan menghalang pemisahan pada sesuatu yang tertentu. pembatas.
"1、2、3".split(/(.*?、)/g) == ["", "1、", "", "2、", "3"]
Kaedah ini membenarkan untuk menangkap pembatas dalam kumpulan yang berasingan, memberikan lebih banyak fleksibiliti.
// Split a path, but keep the slashes that follow directories var str = 'Animation/rawr/javascript.js'; var tokens = str.match(/[^\/]+\/?|\//g);
Pendekatan ini boleh digunakan untuk senario pemisahan yang kompleks, seperti mengekalkan garis miring dalam laluan fail.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memisahkan Rentetan dalam Javascript Semasa Mengekalkan Pembatas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!