我使用這個代碼通過索引來替換字符串中的所有找到的值:如何使用Regex.Replace方法獲取找到的子字符串?
int i = 0;
input = "FGS1=(B+A*10)+A*10+(C*10.5)";
Regex r = new Regex("([A-Z][A-Z\\d]*)");
bool f = false;
MatchEvaluator me = delegate(Match m)
{
f = true;
i++;
return "i" + i.ToString();
};
do { f = false; input = r.Replace(input, me); } while (f);
//expected result: input == "i1=(i2+i3*10)+i4*10+(i5*10.5)"
但我必須這樣做,在更復雜的方式,我有什麼做發現一些有價值的東西。例如:
MatchEvaluator me = delegate(Match m)
{
foundValue = /*getting value*/;
if (foundValue = "A") i--;
f = true;
i++;
return "i" + i.ToString();
};
此代碼預期結果:"i1=(i2+i2*10)+i2*10+(i3*10.5)"
謝謝!這正是我所需要的。 – InfernumDeus