Aufteilen von Zeichenfolgen durch Kommas unter Beibehaltung von Inhalten in doppelten Anführungszeichen in JavaScript
Beim Umgang mit durch Kommas getrennten Zeichenfolgen in JavaScript ist die Handhabung von entscheidender Bedeutung Situationen, in denen doppelte Anführungszeichen verwendet werden, um bestimmte Abschnitte einzuschließen. Wenn Sie dies vernachlässigen, kann dies zu einer unbeabsichtigten Aufteilung führen.
Das Problem:
Bei einer durch Kommas getrennten Zeichenfolge besteht das Ziel darin, ein Array zu erhalten, das den Inhalt in doppelten Anführungszeichen beibehält . Zum Beispiel die Umwandlung von „a, b, c, „d, e, f“, g, h“ in ein Array aus sechs Elementen: [„a“, „b“, „c“, „d, e, f“ , "g", "h"].
Falscher Ansatz:
Verwendung der Methode split() mit einem regulären Ausdruck wie /, |"[^"] "/g teilt die Zeichenfolge falsch auf und extrahiert sogar den Inhalt innerhalb der doppelten Anführungszeichen.
Richtige Lösung:
Um dieses Szenario korrekt zu handhaben, ist ein maßgeschneiderter regulärer String erforderlich Ausdruck wird benötigt:
/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g
Erklärung:
Verwendung:
const str = 'a, b, c, "d, e, f", g, h'; const arr = str.match(/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g); for (let i = 0; i < arr.length; i++) { console.log(`arr[${i}] = ${arr[i]}`); }
Ausgabe:
arr[0] = a arr[1] = b arr[2] = c arr[3] = "d, e, f" arr[4] = g arr[5] = h
Das obige ist der detaillierte Inhalt vonWie teile ich eine durch Kommas getrennte Zeichenfolge in JavaScript auf und behalte dabei den Inhalt in doppelten Anführungszeichen bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!