2020-01-07 更新

Regex.Replaceで正規表現を使った文字列の置換

C#で正規表現を使った文字列の置換にはRegex.Replace()メソッドを使います。動作確認用のVisualStudioプロジェクトはコンソールアプリケーションで作成しています。

コード


using System;
using System.Text.RegularExpressions;

namespace ReplaceTest
{
    class Program
    {
        static void Main(string[] args)
        {
            // 半角、全角スペースが混ざった文字列
            var str = "  AA BB CC  DD  EE   FF     GG  ";

            // 置換
            Console.WriteLine("開始");
            Console.WriteLine(Regex.Replace(str, @"[\s]+", " ").Trim());
            Console.WriteLine(Regex.Replace(str, @"[ | ]+", " ").Trim());
            Console.WriteLine("終了");
        }
    }
}

正規表現で「\s」を指定した場合、改行文字、タブ文字、半角/全角スペースといった文字が対象となります。

半角スペース「 」や全角スペース「 」を直接指定してもちゃんと動作します。

実行結果


開始
AA BB CC DD EE FF GG
AA BB CC DD EE FF GG
終了            

C#】関連記事