Maison  >  Article  >  interface Web  >  Comment diviser une chaîne par des virgules tout en ignorant le texte entre guillemets doubles en JavaScript ?

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

DDD
DDDoriginal
2024-10-26 17:46:30827parcourir

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

Diviser les chaînes par virgules tout en ignorant le texte entre guillemets doubles

La tâche de diviser une chaîne par virgules présente un défi unique lorsque des virgules apparaissent entre guillemets doubles. Voici comment y parvenir en Javascript :

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

Cette approche basée sur les expressions régulières suit un modèle spécifique pour extraire les sous-chaînes :

  • ("".*?" ; ou [^", s] ) : Correspond soit aux segments entourés de guillemets ("d, e, f"), soit aux séquences sans guillemets, virgules ou espaces (a).
  • ((?=s*,|s*$)) : Garantit que les correspondances sont suivies soit d'une virgule et d'un espace, soit de la fin de la chaîne, garantissant ainsi un fractionnement approprié.

Le le résultat est un tableau de six éléments :

arr = [ 'a', 'b', 'c', '"d, e, f"', 'g', 'h' ]

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!

Déclaration:
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