Partager via


Comment : réorganiser des données à l'aide d'expressions régulières

Mise à jour : novembre 2007

L'exemple de code suivant montre comment la prise en charge des expressions régulières du .NET Framework peut être utilisée pour réorganiser ou reformater des données. L'exemple de code suivant utilise les classes Regex et Match pour extraire les prénoms et noms d'une chaîne, puis afficher ces éléments dans l'ordre inverse.

La classe Regex est utilisée pour construire une expression régulière qui décrit le format actuel des données. Les deux noms sont supposés être séparés par une virgule et peuvent utiliser n'importe quel nombre d'espaces blancs autour de la virgule. La méthode Match est ensuite utilisée pour analyser chaque chaîne. En cas de réussite, les prénoms et noms sont récupérés à partir de l'objet Match et sont affichés.

Exemple

// regex_reorder.cpp
// compile with: /clr
#using <System.dll>
using namespace System;
using namespace Text::RegularExpressions;

int main()
{
   array<String^>^ name = 
   {
      "Abolrous, Sam", 
      "Berg,Matt", 
      "Berry , Jo",
      "www.contoso.com"
   };

   Regex^ reg = gcnew Regex("(?<last>\\w*)\\s*,\\s*(?<first>\\w*)");

   for ( int i=0; i < name->Length; i++ )
   {
      Console::Write( "{0,-20}", name[i] );
      Match^ m = reg->Match( name[i] );
      if ( m->Success )
      {
         String^ first = m->Groups["first"]->Value;
         String^ last = m->Groups["last"]->Value;
         Console::WriteLine("{0} {1}", first, last);
      }
      else
         Console::WriteLine("(invalid)");
   }
   return 0;
}

Voir aussi

Autres ressources

Expressions régulières du .NET Framework

Guide de programmation .NET