Coretan JavaScript ini akan membolehkan anda menghuraikan rentetan CSV yang mempunyai koma dalam data, sambil mengabaikan koma di dalam medan yang disebut:
const parseCSV = (csvString) => { const rows = csvString.split("\n"); const result = []; for (const row of rows) { const values = []; let currentField = ""; let inQuotes = false; for (const char of row) { if (char === '"' && currentField.length === 0) { inQuotes = !inQuotes; } else if (char === "," && !inQuotes) { values.push(currentField); currentField = ""; } else { currentField += char; } } if (currentField.length > 0) { values.push(currentField); } result.push(values); } return result; }; const csvString = 'string, duppi, du, 23, lala'; console.log(parseCSV(csvString));
Penyelesaian ini menangani masalah anda pertanyaan dengan menggunakan pemeriksaan aksara demi aksara bagi rentetan CSV. Setiap kali koma dikesan dan rentetan tidak berada di dalam medan yang disebut, medan baharu dijana. Apabila tanda petikan berganda ditemui pada permulaan medan, ia menunjukkan permulaan medan yang disebut. Satu lagi tanda petikan berganda di luar medan yang dipetik menandakan penghujung medan tersebut. Dengan sentiasa memeriksa nilai, teknik ini membahagikan rentetan CSV dengan tepat ke dalam medan individu, dengan mengambil kira kawasan yang disebut.
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Rentetan CSV dengan Koma Di Dalam Medan Petikan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!