Maison >interface Web >js tutoriel >Comment diviser une chaîne séparée par des virgules en JavaScript tout en préservant le contenu entre guillemets doubles ?
Diviser les chaînes avec des virgules tout en préservant le contenu des guillemets doubles en JavaScript
Lorsque vous traitez des chaînes séparées par des virgules en JavaScript, il est crucial de gérer situations où des guillemets doubles sont utilisés pour délimiter certaines sections. Négliger cela peut entraîner un fractionnement involontaire.
Le problème :
Étant donné une chaîne séparée par des virgules, l'objectif est d'obtenir un tableau préservant le contenu entre guillemets doubles. . Par exemple, transformer "a, b, c, "d, e, f", g, h" en un tableau de six éléments : ["a", "b", "c", "d, e, f" , "g", "h"].
Approche incorrecte :
Utilisation de la méthode split() avec une expression régulière comme /, |"[^"] "/g divisera la chaîne de manière incorrecte, extrayant même le contenu entre guillemets.
Solution correcte :
Pour gérer correctement ce scénario, un script régulier plus adapté une expression est nécessaire :
/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g
Explication :
Utilisation :
const str = 'a, b, c, "d, e, f", g, h'; const arr = str.match(/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g); for (let i = 0; i < arr.length; i++) { console.log(`arr[${i}] = ${arr[i]}`); }
Sortie :
arr[0] = a arr[1] = b arr[2] = c arr[3] = "d, e, f" arr[4] = g arr[5] = 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!