Utilisez C# pour diviser les chaînes séparées par des virgules en dehors des guillemets
Pour les chaînes de paramètres contenant des virgules intégrées en dehors des guillemets, vous pouvez utiliser des méthodes d'expression régulière pour les diviser exactement.
Question :
Divisez la chaîne "('ABCDEFG', 123542, 'XYZ 99,9')" en ses composants, où le dernier argument contient une virgule entre guillemets.
Solution :
Utilisez des expressions régulières pour identifier les virgules en dehors des guillemets afin d'obtenir la répartition souhaitée :
<code class="language-c#">",(?=(?:[^']*'[^']*')*[^']*$)"</code>
Ce modèle d'expression régulière correspond à toute virgule qui n'apparaît pas avant ou après un nombre impair de guillemets.
Mise en œuvre :
Le code suivant utilise des expressions régulières pour diviser un exemple de chaîne :
<code class="language-c#">string samplestring = "('ABCDEFG', 123542, 'XYZ 99,9')"; string[] result = Regex.Split(samplestring, ",(?=(?:[^']*'[^']*')*[^']*$)");</code>
Sortie :
Le tableau résultant contiendra les composants individuels :
<code>['ABCDEFG', '123542', 'XYZ 99,9']</code>
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!