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

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

Mary-Kate Olsen
Libérer: 2024-10-27 01:13:30
original
220 Les gens l'ont consulté

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

Diviser les chaînes par virgules tout en préservant les virgules entre guillemets doubles en JavaScript

Lorsque vous travaillez avec des chaînes contenant à la fois des virgules et des sections entre guillemets doubles, il devient nécessaire de diviser la chaîne en éléments tout en gardant intactes les parties entre guillemets. Cela peut être particulièrement difficile en JavaScript en raison de l'incohérence dans la gestion des guillemets doubles.

Pour diviser efficacement une chaîne de cette manière, vous pouvez utiliser une expression régulière qui identifie et sépare les jetons en fonction de critères spécifiques. Considérons l'approche suivante :

<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

Cette expression régulière se compose de deux parties :

  • (".*?") : Cette partie correspond à n'importe quel double -sous-chaîne citée, où les guillemets doubles sont inclus.
  • (1 ): Cette partie correspond à toute sous-chaîne non vide qui ne le fait pas ne contient pas de guillemets doubles, de virgules ou d'espaces.

La partie (?=s*,|s*$) est une assertion anticipée positive qui garantit que la correspondance est suivie d'une virgule et d'un espace ou la fin de la chaîne. Cela empêche la division des sous-sections entre guillemets.

Le tableau résultant arr contiendra six éléments : ["a", "b", "c", "d, e, f", "g", "h"].

En employant cette expression régulière, vous pouvez diviser avec précision une chaîne par des virgules tout en préservant l'intégrité des sections entre guillemets, ce qui la rend adaptée à de nombreuses tâches de manipulation de données.


  1. ",s

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