次の方法で共有


方法: 正規表現を使用してデータを再配置する (C++/CLI)

.NET Framework の正規表現サポートを使用して、データを再配置または再フォーマットする方法を次のコード例に示します。次のコード例では、Regex クラスと Match クラスを使用して、文字列から最初の名前と最後の名前を抽出し、これらの名前要素を逆順に表示します。

Regex クラスを使用して、データの現在の書式を記述する正規表現を構成します。2 つの名前はコンマで区切ります。また、コンマの前後には任意の数の空白文字を入れることができます。次に、Match メソッドを使用して、各文字列を解析します。正常に処理されると、Match オブジェクトから最初の名前と最後の名前が取得され、表示されます。

使用例

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

参照

その他の技術情報

.NET Framework の正規表現

Visual C++ での .NET プログラミング