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

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

Patricia Arquette
Patricia ArquetteOriginal
2024-10-28 05:16:30516Durchsuche

How to Split a String by Commas While Ignoring Commas Within Double Quotes in JavaScript?

Teilen Sie eine Zeichenfolge durch Kommas und ignorieren Sie diejenigen in doppelten Anführungszeichen (JavaScript)

Beim Arbeiten mit Zeichenfolgen kann es notwendig sein, diese zu teilen in ein Array von Elementen basierend auf einem angegebenen Trennzeichen. Manchmal steht das Trennzeichen jedoch in doppelten Anführungszeichen, die beim Teilen ignoriert werden sollten.

Stellen Sie sich die folgende Zeichenfolge vor, die in ein Array aus sechs Elementen umgewandelt werden muss: „a, b, c, „d, e, f", g, h". Das Ziel besteht darin, jedes Element zu trennen und dabei die in doppelten Anführungszeichen eingeschlossenen Kommas zu ignorieren.

Ein Ansatz besteht darin, reguläre Ausdrücke zu verwenden:

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

Hier ist eine Aufschlüsselung des regulären Ausdrucks:

(
    &quot;.*?&quot;       # double quotes + anything but double quotes + double quotes
    |           # OR
    [^&quot;,\s]+    # 1 or more characters excl. double quotes, comma or spaces of any kind
)
(?=             # FOLLOWED BY
    \s*,        # 0 or more empty spaces and a comma
    |           # OR
    \s*$        # 0 or more empty spaces and nothing else (end of string)
)

Diese Regex erfasst entweder Zeichenfolgen in doppelten Anführungszeichen oder alle anderen Zeichen, die keine Kommas oder Leerzeichen sind, und verhindert so, dass die Kommas in Anführungszeichen geteilt werden.

Das arr-Array enthält die geteilten Elemente, die können dann protokolliert oder zur weiteren Verarbeitung verwendet werden.

Das obige ist der detaillierte Inhalt vonWie teile ich eine Zeichenfolge durch Kommas auf und ignoriere Kommas in doppelten Anführungszeichen in JavaScript?. 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