我需要搜索一个字符串并将所有出现的 和 替换为%FirstName%从%PolicyAmount%数据库中提取的值。问题是 FirstName 的大小写不同。这使我无法使用该String.Replace()方法。我看过有关该主题的网页建议
%FirstName%
%PolicyAmount%
String.Replace()
Regex.Replace(strInput, strToken, strReplaceWith, RegexOptions.IgnoreCase);
但是由于某种原因,当我尝试用 替换%PolicyAmount%时$0,替换永远不会发生。我认为这与美元符号是正则表达式中的保留字符有关。
$0
我可以使用另一种不涉及清理输入以处理正则表达式特殊字符的方法吗?
从 MSDN $0 - “替换与组号匹配的最后一个子字符串(十进制)。”
在 .NET 正则表达式中,组 0 始终是整个匹配项。对于文字 $ 你需要
string value = Regex.Replace("%PolicyAmount%", "%PolicyAmount%", @"$$0", RegexOptions.IgnoreCase);