C# - よく使うクラス - System.Text - RegularExpressions

 クラウディア
1. 概要
2. Regex 正規表現

1. 概要

 正規表現を扱います。  本家のドキュメントによれば
.NET 内で実行される任意のプラットフォームまたは言語から使用できる正規表現機能が提供されています。 この名前空間に格納されている型に加え、RegexStringValidator クラスを使用すると、特定の文字列が正規表現パターンに準拠しているかどうかを確認できます。
 ちゅうことだそうです。  本ページは、下記のサイトを参考にさせていただきました。
System.Text.RegularExpressions 名前空間」
「Regex クラス (System.Text.RegularExpressions) 」
「【C#入門】String.Splitで文字列を分割(複数文字、文字数でも分割) 

2. Regex 正規表現

 そのものずばり、正規表現になります。  ドキュメントには、「変更不可の正規表現を表します。」ちゅうことになっております。  「System.string」で書いた、文字列の分割に関して

using System;

public class String02
{
    static public void Main ()
    {
		string message = "abc de  fg";
		string[] array = message.Split(' ');

		foreach (string s in array)
		{
			Console.WriteLine(s);
		}
	}
}
 てなソースを書くと(7行目の「de」と「fg」の間に空白が2つあります) 、結果が

abc
de

fg
 となってしまうようなケースで、これを、上記の場合は3つに分割したいのであれば、「Regex」を使用します。  「System.Text.RegularExpressions」をインポートして、8行目を

		string[] array =  Regex.Split(message, @" +");
 と書いてやれば、3つに分割することになります。  空白文字だけでなく、いわゆる、ホワイトスペース(空白、タブ、改行)で分割するならば

		string[] array =  Regex.Split(message, @"\s");
 と書きます(この場合、文字列先頭の「@」がないと「\」を2つ重ねて書かないとコンパイルエラーになりますのでご注意ください)。
earthcar(アースカー)