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つ重ねて書かないとコンパイルエラーになりますのでご注意ください)。
|
|