正規表現を使った文字列の置換
C#で正規表現を使って文字列を置換したい場合はReplace
メソッドを使って次のような感じにします。
string s = "abc123def456";
Regex re = new Regex(@"[a-z]+");
string result = re.Replace(s, "-");
Debug.Log(result);
実行結果
-123-456
置換する文字列を関数で指定する方法
置換する文字列を細かく制御したい場合は関数を使って置換する文字列を指定することもできます。
string s = "abc123def456";
Regex re = new Regex(@"([a-z]+)");
string result = re.Replace(s, (Match m) => m.Groups[1].Value.ToUpper());
Debug.Log(result);
実行結果
ABC123DEF456
※関数はMatch
を引数にとってstring
を返すものです。
リンク
Regex.Replace Method (System.Text.RegularExpressions) | Microsoft Docs
https://docs.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.regex.replace?view=net-6.0
MatchEvaluator Delegate (System.Text.RegularExpressions) | Microsoft Docs
https://docs.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.matchevaluator?view=net-6.0