Может помочь следующий код.
string s = "lionlionlionlionlionlionlionlionlionlion";
System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex("lion");
s = r.Replace(s, "donkey", 6, 0);
Console.Out.Write(s);
Вывод donkeydonkeydonkeydonkeydonkeydonkeylionlionlionlion
.
Вы также можете динамически изменить строку замены следующим образом:
private string replaceMe(System.Text.RegularExpressions.Match m)
{
return "donkey[" + m.Index.ToString() + "]";
}
private replaceStr() {
string s = "lionlionlionlionlionlionlionlionlionlion";
Regex r = new Regex("lion");
s = r.Replace(s, new System.Text.RegularExpressions.MatchEvaluator(replaceMe),6);
Console.Out.Write(s);
}
Тогда вывод будет donkey[0]donkey[4]donkey[8]donkey[12]donkey[16]donkey[20]lionlionlionlion
.