是否可以使用正则表达式替换每个匹配的值?如下所示:
public static string TestMethod(string source)
{
var regexToMatch = new Regex("[MY_REGEX_STRING]");
foreach (Match Id in regexToMatch.Matches(source))
{
var newId = GetIdFromSource(source);
Id.Value = newId;
}
return source;
}
在我的c#代码中,当找到匹配项时,我将调用一个返回新id的方法,并希望用新的id替换旧的,然后返回更新的source
。
我得到了正确的匹配,只是不知道如何替换它们。
谁能看到我出错的地方?
答案 0 :(得分:2)
根据我的理解,您希望运行一些代码来为每个匹配生成替换字符串。在这种情况下,使用MatchEvaluator的Regex Replace方法就是您想要的。每次匹配都会调用MatchEvaluator,并且可以提供替换字符串。