Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Memisahkan Rentetan dengan Koma Semasa Mengabaikan Teks Dalam Petikan Berganda dalam JavaScript?

Bagaimana untuk Memisahkan Rentetan dengan Koma Semasa Mengabaikan Teks Dalam Petikan Berganda dalam JavaScript?

DDD
DDDasal
2024-10-26 17:46:30908semak imbas

How to Split a String by Commas While Ignoring Text Within Double Quotes in JavaScript?

Memisahkan Rentetan dengan Koma Semasa Mengabaikan Teks Dalam Petikan Berganda

Tugas membelah rentetan dengan koma memberikan cabaran unik apabila koma muncul dalam petikan berganda. Begini cara untuk mencapai ini dalam Javascript:

<code class="js">var str = 'a, b, c, "d, e, f", g, h';
var arr = str.match(/(&quot;.*?&quot;|[^&quot;,\s]+)(?=\s*,|\s*$)/g);</code>

Pendekatan berasaskan regex ini mengikut corak khusus untuk mengekstrak subrentetan:

  • ("".*?" ; atau [^",s] ): Memadankan sama ada segmen yang disertakan dalam petikan berganda ("d, e, f") atau urutan tanpa petikan, koma atau ruang (a).
  • ((?=s*,|s*$)): Memastikan padanan diikuti sama ada koma dan ruang putih atau hujung rentetan, memastikan pemisahan yang betul.

The hasilnya ialah tatasusunan enam elemen:

arr = [ 'a', 'b', 'c', '"d, e, f"', 'g', 'h' ]

Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Rentetan dengan Koma Semasa Mengabaikan Teks Dalam Petikan Berganda dalam JavaScript?. 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