Maison > interface Web > js tutoriel > Comment diviser une chaîne par virgules tout en ignorant les virgules entre guillemets doubles en JavaScript ?

Comment diviser une chaîne par virgules tout en ignorant les virgules entre guillemets doubles en JavaScript ?

Patricia Arquette
Libérer: 2024-10-28 05:16:30
original
514 Les gens l'ont consulté

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

Diviser une chaîne par virgules et ignorer celles entre guillemets doubles (JavaScript)

Lorsque vous travaillez avec des chaînes, il peut être nécessaire de les diviser dans un tableau d'éléments basé sur un délimiteur spécifié. Cependant, le délimiteur apparaît parfois entre guillemets doubles, qui doivent être ignorés lors du fractionnement.

Considérez la chaîne suivante qui doit être convertie en un tableau de six éléments : "a, b, c, "d, e, f", g, h". L'objectif est de séparer chaque élément tout en ignorant les virgules entre guillemets doubles.

Une approche consiste à utiliser des expressions régulières :

<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>
Copier après la connexion

Voici une ventilation de l'expression régulière :

(
    &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)
)
Copier après la connexion

Cette expression régulière capturera soit les chaînes entre guillemets, soit tout autre caractère qui n'est pas des virgules ou des espaces, empêchant ainsi la division des virgules entre guillemets.

Le tableau arr contiendra les éléments divisés, qui peut ensuite être enregistré ou utilisé pour un traitement ultérieur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal