So gehen Sie mit Kommas in CSV-Daten um, wenn Sie Strings in JavaScript analysieren
Beim Umgang mit CSV-Strings, die Daten enthalten, die auch Kommas enthalten, kann das Parsen möglich sein knifflig sein. Wenn Sie die Zeichenfolge allein durch Kommas (",") aufteilen, erhalten Sie nicht die gewünschte Ausgabe, wenn einige Werte in Anführungszeichen eingeschlossen sind. So können Sie solche CSV-Zeichenfolgen unter Berücksichtigung von Anführungszeichen analysieren:
// Regex to validate a CSV string: const re_valid = /^\s*(?:'[^'\]*(?:\[\S\s][^'\]*)*'|"[^"\]*(?:\[\S\s][^"\]*)*"|[^,'"\s\]*(?:\s+[^,'"\s\]+)*)\s*(?:,\s*(?:'[^'\]*(?:\[\S\s][^'\]*)*'|"[^"\]*(?:\[\S\s][^"\]*)*"|[^,'"\s\]*(?:\s+[^,'"\s\]+)*)*\s*)*$/; // Regex to parse one value from a valid CSV string: const re_value = /(?!\s*$)\s*(?:'([^'\]*(?:\[\S\s][^'\]*)*)'|"([^"\]*(?:\[\S\s][^"\]*)*)"|([^,'"\s\]*(?:\s+[^,'"\s\]+)*)|)\s*(?:,|$)/g; function CSVtoArray(text) { if (!re_valid.test(text)) return null; const a = []; text.replace(re_value, (m0, m1, m2, m3) => { if (m1 !== undefined) a.push(m1.replace(/\'/g, "'")); else if (m2 !== undefined) a.push(m2.replace(/\"/g, '"')); else if (m3 !== undefined) a.push(m3); return ''; }); if (/,\s*$/.test(text)) a.push(''); return a; }
Mit diesem Ansatz können Sie CSV-Zeichenfolgen, einschließlich solcher mit gemischten Typen und Escape-Zeichen, unter Berücksichtigung von Anführungszeichen genau analysieren.
Das obige ist der detaillierte Inhalt vonWie analysiere ich CSV-Strings mit Kommas in JavaScript richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!