Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Memisahkan Rentetan Dipisahkan Koma dalam JavaScript Semasa Memelihara Kandungan Dalam Petikan Berganda?
Memisahkan Rentetan dengan Koma Semasa Memelihara Kandungan Petikan Dua Kali dalam JavaScript
Apabila berurusan dengan rentetan yang dipisahkan koma dalam JavaScript, adalah penting untuk mengendalikan situasi di mana petikan berganda digunakan untuk melampirkan bahagian tertentu. Mengabaikan perkara ini boleh menyebabkan perpecahan yang tidak diingini.
Masalahnya:
Memandangkan rentetan yang dipisahkan koma, matlamatnya adalah untuk mendapatkan tatasusunan yang mengekalkan kandungan dalam petikan dua kali . Sebagai contoh, menukar "a, b, c, "d, e, f", g, h" kepada tatasusunan enam elemen: ["a", "b", "c", "d, e, f" , "g", "h"].
Pendekatan Salah:
Menggunakan kaedah split() dengan ungkapan biasa seperti /, |"[^"] "/g akan membelah rentetan secara salah, malah mengekstrak kandungan dalam petikan berganda.
Penyelesaian Betul:
Untuk mengendalikan senario ini dengan betul, kaedah biasa yang lebih disesuaikan ungkapan diperlukan:
/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g
Penjelasan:
Penggunaan:
const str = 'a, b, c, "d, e, f", g, h'; const arr = str.match(/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g); for (let i = 0; i < arr.length; i++) { console.log(`arr[${i}] = ${arr[i]}`); }
Output:
arr[0] = a arr[1] = b arr[2] = c arr[3] = "d, e, f" arr[4] = g arr[5] = h
Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Rentetan Dipisahkan Koma dalam JavaScript Semasa Memelihara Kandungan Dalam Petikan Berganda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!