방법: 정규식을 사용하여 데이터 다시 정렬
업데이트: 2007년 11월
다음 코드 예제에서는 .NET Framework 정규식 지원을 사용하여 데이터를 다시 정렬하거나 형식을 바꾸는 방법을 보여 줍니다. 다음 코드 예제에서는 Regex 및 Match 클래스를 사용하여 문자열에서 이름과 성을 추출한 다음 이러한 이름 요소의 순서를 바꿔 표시합니다.
Regex 클래스는 데이터의 현재 형식을 설명하는 정규식을 생성하는 데 사용됩니다. 두 이름은 쉼표로 구분되는 것으로 가정하고 쉼표 앞뒤에 공백을 그 수에 상관없이 추가할 수 있는 것으로 가정합니다. 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;
}