Condividi tramite


Procedura: utilizzare espressioni regolari per ridisporre i dati (C++/CLI)

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare le espressioni regolari di .NET Framework per ridisporre o riformattare i dati.Vengono utilizzate le classi Regex e Match per estrarre il nome e il cognome da una stringa e vengono quindi visualizzati tali elementi in ordine inverso.

La classe Regex viene utilizzata per costruire un'espressione regolare in cui sia indicato il formato corrente dei dati.Si presuppone che i due nomi siano separati da una virgola e che sia possibile utilizzare un numero qualsiasi di spazi prima e dopo la virgola.Viene quindi utilizzato il metodo Match per analizzare ciascuna stringa.Se l'operazione riesce, il nome e il cognome vengono recuperati dall'oggetto Match e visualizzati.

Esempio

// 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;
}

Vedere anche

Altre risorse

Espressioni regolari di .NET Framework

programmazione.NET di Visual C++