我正在尝试用 C# 编写一个函数,用自定义字符串替换所有出现的正则表达式模式。我需要使用匹配字符串来生成替换字符串,所以我试图循环匹配而不是使用 Regex.Replace()。当我调试我的代码时,正则表达式模式匹配我的 html 字符串的一部分并进入 foreach 循环,但是 string.Replace 函数不会替换匹配项。有谁知道是什么导致这种情况发生?
我的功能的简化版本:-
public static string GetHTML() {
string html = @"
<h1>This is a Title</h1>
@Html.Partial(""MyPartialView"")
";
Regex ItemRegex = new Regex(@"@Html.Partial\(""[a-zA-Z]+""\)", RegexOptions.Compiled);
foreach (Match ItemMatch in ItemRegex.Matches(html))
{
html.Replace(ItemMatch.Value, "<h2>My Partial View</h2>");
}
return html;
}