Maison >Java >javaDidacticiel >Comment diviser du texte séparé par des virgules tout en ignorant les virgules entre guillemets en Java ?
Diviser le texte séparé par des virgules en ignorant les virgules entre guillemets
L'analyse de texte contenant des valeurs séparées par des virgules peut être difficile lorsque certaines valeurs contiennent des virgules entre guillemets . L'utilisation de la méthode String.split de Java avec un simple délimiteur par virgule entraîne souvent des valeurs fractionnées qui incluent ces virgules entre guillemets. Ce problème nécessite une solution qui fait la distinction entre les virgules entre guillemets et celles entre guillemets.
La solution à ce problème réside dans les expressions régulières. L'extrait de code Java suivant fournit une solution complète :
String[] arr = str.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)");
Cette expression régulière divise la chaîne en fonction de virgules qui ne sont pas immédiatement suivies d'un nombre pair de guillemets doubles. L'explication détaillée de l'expression régulière est la suivante :
( ?=(?:[^"]*"[^"]*")*[^"]*$) : L'expression d'anticipation garantit que la virgule est suivie d'un nombre pair de doubles guillemets.
En utilisant cette expression régulière, vous pouvez diviser efficacement le texte séparé par des virgules, en ignorant les virgules entre guillemets doubles. Cette approche vous permet d'analyser le texte de manière fiable, en veillant à ce que les valeurs citées restent intactes.
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!