Maison > Article > interface Web > Comment diviser une chaîne par virgules, en ignorant les virgules entre guillemets doubles à l'aide de JavaScript ?
Diviser une chaîne par virgules, en ignorant les virgules entre guillemets doubles à l'aide de JavaScript
Pour relever le défi de diviser une chaîne par des virgules tout en préservant les doubles -segments cités, nous pouvons utiliser des expressions régulières en JavaScript. Voici comment :
<code class="javascript">var str = 'a, b, c, "d, e, f", g, h'; var arr = str.match(/(".*?"|[^",\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>
Cette expression régulière utilise deux groupes de capture pour faire correspondre les sous-chaînes d'intérêt :
L'assertion d'anticipation (?=s*,|s*$) garantit que la correspondance est suivie soit d'un espace et d'une virgule, soit de la fin de la chaîne. Cela garantit que nous capturons uniquement les segments séparés par des virgules.
En faisant correspondre les segments entre guillemets et sans guillemets, cette solution divise avec précision la chaîne donnée en un tableau de six éléments : ["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!