Heim > Web-Frontend > js-Tutorial > Wie analysiere ich CSV-Strings mit Kommas in JavaScript richtig?

Wie analysiere ich CSV-Strings mit Kommas in JavaScript richtig?

Linda Hamilton
Freigeben: 2024-12-03 02:51:14
Original
978 Leute haben es durchsucht

How to Correctly Parse CSV Strings with Commas in JavaScript?

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;
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage