Maison > développement back-end > C++ > Comment puis-je diviser une chaîne séparée par des virgules en C# tout en ignorant les virgules entre guillemets ?

Comment puis-je diviser une chaîne séparée par des virgules en C# tout en ignorant les virgules entre guillemets ?

Linda Hamilton
Libérer: 2025-01-07 21:29:41
original
920 Les gens l'ont consulté

How Can I Split a Comma-Separated String in C# While Ignoring Commas Within Quotes?

Fractionnement d'expressions régulières C# : gestion des virgules dans les chaînes entre guillemets

Le fractionnement de chaîne standard C# basé sur des virgules échoue lorsqu'il s'agit de virgules dans un texte cité. Les expressions régulières fournissent une solution robuste.

Envisagez de diviser la chaîne "('ABCDEFG', 123542, 'XYZ 99,9')" en ses trois parties constitutives : 'ABCDEFG', 123542 et 'XYZ 99,9'.

L'expression régulière suivante identifie les virgules à l'extérieur des sections entre guillemets :

<code class="language-csharp">",(?=(?:[^']*'[^']*')*[^']*$)"</code>
Copier après la connexion

Cette expression garantit que seules les virgules non précédées d'un nombre pair de guillemets simples (indiquant une section fermée entre guillemets) sont utilisées comme points de partage.

Voici comment l'utiliser avec Regex.Split :

<code class="language-csharp">string inputString = "('ABCDEFG', 123542, 'XYZ 99,9')";
string[] splitString = Regex.Split(inputString, ",(?=(?:[^']*'[^']*')*[^']*$)");</code>
Copier après la connexion

Le tableau splitString contiendra alors :

  • splitString[0] = 'ABCDEFG'
  • splitString[1] = 123542
  • splitString[2] = 'XYZ 99,9'

Cette approche d'expression régulière divise avec précision les chaînes, préservant l'intégrité des données même lorsque des virgules apparaissent dans des sous-chaînes entre guillemets.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal