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

Patricia Arquette
Lepaskan: 2024-10-28 05:16:30
asal
417 orang telah melayarinya

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

Pisah Rentetan dengan Koma dan Abaikan Yang Dalam Petikan Berganda (JavaScript)

Apabila bekerja dengan rentetan, mungkin perlu untuk memisahkannya ke dalam tatasusunan elemen berdasarkan pembatas yang ditentukan. Walau bagaimanapun, kadangkala pembatas berlaku dalam petikan berganda, yang sepatutnya diabaikan semasa membelah.

Pertimbangkan rentetan berikut yang perlu ditukar kepada tatasusunan enam elemen: "a, b, c, "d, e, f", g, h". Matlamatnya adalah untuk memisahkan setiap elemen sambil mengabaikan koma yang dilampirkan dalam petikan berganda.

Satu pendekatan ialah menggunakan ungkapan biasa:

<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>
Salin selepas log masuk

Berikut ialah pecahan ungkapan biasa:

(
    &quot;.*?&quot;       # double quotes + anything but double quotes + double quotes
    |           # OR
    [^&quot;,\s]+    # 1 or more characters excl. double quotes, comma or spaces of any kind
)
(?=             # FOLLOWED BY
    \s*,        # 0 or more empty spaces and a comma
    |           # OR
    \s*$        # 0 or more empty spaces and nothing else (end of string)
)
Salin selepas log masuk

regex ini akan menangkap sama ada rentetan petikan dua kali atau mana-mana aksara lain yang bukan koma atau ruang, menghalang koma yang dipetik daripada dipecahkan.

Susun atur arr akan mengandungi elemen pisah, yang kemudian boleh dilog atau digunakan untuk pemprosesan selanjutnya.

Atas ialah kandungan terperinci Bagaimana untuk Memisahkan Rentetan dengan Koma Semasa Mengabaikan Koma Dalam Petikan Berganda dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!