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
終了