ふらっとC#,C♯,C#(初心者用) Part59
■ このスレッドは過去ログ倉庫に格納されています
0573デフォルトの名無しさん
2010/05/17(月) 18:00:27それを条件に合わせて置換というのをやりたいんですが
例:ABACDからB、C、Dを検索してE、F、Gに置換→AEAFG
string str = "ABACD";
Regex reg = new Regex("B|C|D");
MatchCollection mc = reg.Matches(str);
foreach(Match m in mc) str = reg.Replace(str, func(m.Value), 1, m.Index);
string func(string s)
{
if (s == "B") s = "E";
if (s == "C") s = "F";
if (s == "D") s = "G";
return s;
}
これだと同じ検索をMatchesとReplaceで2回やってて無駄な感じがします・・・
検索がヒットするたびにfuncを実行して置換するようなやり方はないでしょうか
■ このスレッドは過去ログ倉庫に格納されています