Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Memisahkan Rentetan dengan Koma Semasa Memelihara Koma Dalam Petikan Berganda dalam JavaScript?

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

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-27 01:13:30107semak imbas

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

Memisahkan Rentetan dengan Koma Semasa Memelihara Koma Dalam Petikan Berganda dalam JavaScript

Apabila bekerja dengan rentetan yang mengandungi kedua-dua bahagian koma dan petikan dua, ia menjadi perlu untuk memisahkan rentetan ke dalam elemen sambil mengekalkan bahagian petikan dua tetap utuh. Ini boleh menjadi sangat mencabar dalam JavaScript kerana ketidakkonsistenan dalam mengendalikan petikan berganda.

Untuk memisahkan rentetan secara berkesan dengan cara ini, anda boleh menggunakan ungkapan biasa yang mengenal pasti dan memisahkan token berdasarkan kriteria tertentu. Pertimbangkan pendekatan berikut:

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

Ungkapan biasa ini terdiri daripada dua bahagian:

  • (".*?"): Bahagian ini sepadan dengan mana-mana rangkap dua -subrentetan petikan, di mana petikan berganda disertakan.
  • (1 ): Bahagian ini sepadan dengan mana-mana subrentetan bukan kosong yang ' t mengandungi petikan berganda, koma atau ruang.

Bahagian (?=s*,|s*$) ialah pernyataan berpandangan positif yang memastikan bahawa padanan diikuti dengan koma dan ruang kosong atau hujung tali. Ini menghalang pemisahan subseksyen dua petikan.

Arr tatasusunan yang terhasil akan mengandungi enam elemen: ["a", "b", "c", "d, e, f", "g", "h"].

Dengan menggunakan ungkapan biasa ini, anda boleh membelah rentetan dengan koma dengan tepat sambil mengekalkan integriti bahagian petikan dua kali, menjadikannya sesuai untuk banyak tugas manipulasi data.


  1. ",s

Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Rentetan dengan Koma Semasa Memelihara Koma 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