Heim  >  Artikel  >  Web-Frontend  >  Wie teile ich mit JavaScript eine Zeichenfolge durch Kommas auf und ignoriere Kommas in doppelten Anführungszeichen?

Wie teile ich mit JavaScript eine Zeichenfolge durch Kommas auf und ignoriere Kommas in doppelten Anführungszeichen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-26 19:04:02174Durchsuche

How to Split a String by Commas, Ignoring Commas Within Double Quotes Using JavaScript?

Teilen Sie eine Zeichenfolge durch Kommas und ignorieren Sie Kommas in doppelten Anführungszeichen mit JavaScript

Um die Herausforderung zu meistern, eine Zeichenfolge durch Kommas zu teilen und dabei doppelte Anführungszeichen beizubehalten In Anführungszeichen gesetzte Segmente können wir reguläre Ausdrücke in JavaScript verwenden. So geht's:

<code class="javascript">var str = 'a, b, c, "d, e, f", g, h';
var arr = str.match(/(&quot;.*?&quot;|[^&quot;,\s]+)(?=\s*,|\s*$)/g);

// Handle the case of no matches to prevent errors
arr = arr || [];

// Iterate over the matches and display them
for (var i = 0; i < arr.length; i++) {
  console.log('arr[' + i + '] =', arr[i]);
}</code>

Dieser reguläre Ausdruck verwendet zwei Erfassungsgruppen, um interessierende Teilzeichenfolgen abzugleichen:

  • Gruppe 1: Entspricht Segmenten in doppelten Anführungszeichen (" d, e, f“) mit einem gierigen Operator (.*?), um alles in doppelte Anführungszeichen zu erfassen.
  • Gruppe 2: Entspricht jeder anderen Zeichenfolge (z. B. „a“, „g“), das keine doppelten Anführungszeichen, Kommas oder Leerzeichen ([^",s]) enthält.

Die Lookahead-Zusicherung (?=s*,|s*$) gewährleistet dass auf die Übereinstimmung entweder ein Leerzeichen und ein Komma oder das Ende der Zeichenfolge folgen. Dadurch wird sichergestellt, dass wir nur durch Kommas getrennte Segmente erfassen.

Durch den Abgleich sowohl von Segmenten in Anführungszeichen als auch von Segmenten ohne Anführungszeichen teilt diese Lösung die gegebene Zeichenfolge genau in ein Array aus sechs Elementen auf: ["a", "b", "c". ", "d, e, f", "g", "h"].

Das obige ist der detaillierte Inhalt vonWie teile ich mit JavaScript eine Zeichenfolge durch Kommas auf und ignoriere Kommas in doppelten Anführungszeichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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