Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Memisahkan Rentetan dalam JavaScript dan Mengekalkan Pembatas?

Bagaimanakah Saya Boleh Memisahkan Rentetan dalam JavaScript dan Mengekalkan Pembatas?

Patricia Arquette
Patricia Arquetteasal
2024-12-09 11:08:06828semak imbas

How Can I Split a String in JavaScript and Keep the Delimiter?

Memisahkan Rentetan dalam JavaScript Semasa Memelihara Pembatas

Apabila cuba membelah rentetan menggunakan pembatas dalam JavaScript menggunakan kaedah split(), ia adalah biasa kehilangan pembatas dalam tatasusunan yang terhasil. Untuk menangani perkara ini, pertimbangkan penyelesaian berikut:

Sebagai contoh, diberikan rentetan:

var string = "aaaaaa<br /><br />bbbb<br /><br />cccc"

Kami ingin membahagi rentetan ini menggunakan pembatas
diikuti dengan watak istimewa. Menggunakan ungkapan /
&#?[a-zA-Z0-9] ;/g mungkin tidak mengekalkan pembatas.

Untuk mengekalkan pembatas, pertimbangkan untuk menggunakan variasi berikut:

  • Merakam Pembatas:

    string.split(/(<br \/>)/g);

    Ungkapan ini menggunakan kurungan untuk menangkap pembatas, memastikan ia kekal dalam tatasusunan yang terhasil.

  • Pandangan Positif:

    string.split(/(?=</g);

    Ungkapan ini memisahkan rentetan pada setiap kedudukan di mana pembatas berada di sebelah kanan, tetapi tidak menangkap pembatas itu sendiri.

  • Pandangan Negatif:

    string.split(/(?!</g);

    Ungkapan ini membelah rentetan pada setiap kedudukan di mana pembatas tidak berada di sebelah kanan, mengekalkan pembatas dalam yang terhasil tatasusunan.

Sebagai alternatif, untuk pendekatan yang lebih tersuai, anda boleh menggunakan ungkapan berikut:

string.split(/(.*?<br \/>)/g);

Ungkapan ini menangkap segala-galanya sehingga dan termasuk pembatas, mengalih keluar hanya watak istimewa.

Perhatikan bahawa ungkapan tertentu hanya boleh memisahkan aksara tunggal. Dalam kes sedemikian, alternatif seperti berikut boleh digunakan:

// Keep slashes after directories
var str = 'Animation/rawr/javascript.js';
var tokens = str.match(/[^\/]+\/?|\//g);

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memisahkan Rentetan dalam JavaScript dan Mengekalkan Pembatas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn