C#:
パターンに一致する文字を削除する
How to: (方法)
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string input = "Hello, World! 123";
string pattern = @"\d"; // 数字にマッチするパターン
// Regex.Replaceを使用して数字を削除
string output = Regex.Replace(input, pattern, "");
Console.WriteLine(output); // "Hello, World! "
}
}
このコードはinput
文字列から数字を取り除き、output
に"Hello, World! “を表示します。
Deep Dive (詳細な情報)
文字に合致するパターンを削除するニーズは、初期のコンピューティング時代にまでさかのぼります。様々な理由により、データは時として冗長な情報や、予期しない形式で存在します。C#ではSystem.Text.RegularExpressions
のRegex
クラスを利用して簡単にパターンマッチと削除が行えます。
代替案として、string.Replace
メソッドを使った単純な置換がありますが、これは正規表現のパターンには対応していません。また、LINQを使ったアプローチも可能ですが、正規表現の方が直感的でパワフルです。
パフォーマンスを考えると、Regex
オブジェクトをコンパイルすることで処理速度を向上させることができます。これは複数回にわたって同じ正規表現を用いる場合に特に有効です。
See Also (関連情報)
- .NETの正規表現ドキュメント: https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expression-language-quick-reference
Regex.Replace
メソッド: https://docs.microsoft.com/ja-jp/dotnet/api/system.text.regularexpressions.regex.replace- C#での文字列操作についての一般的なガイド: https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/strings/