Diviser une chaîne par des 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 procéder :
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 Cette expression régulière utilise deux groupes de capture pour faire correspondre les sous-chaînes d'intérêt :
- Groupe 1 : Correspond aux segments entre guillemets doubles ("d, e, f ") en utilisant un opérateur gourmand (.*?) pour capturer tout entre guillemets doubles.
- Groupe 2 : Correspond à toute autre séquence de caractères (par exemple, "a", "g") qui ne contient pas de guillemets doubles, de virgules ou d'espaces ([^", \s] ).
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"].
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3