一尘不染

是否有不区分大小写的string.Replace替代方案?

c#

我需要搜索一个字符串,%FirstName%%PolicyAmount%用从数据库中提取的值替换所有出现的和。问题是FirstName的大小写不同。那使我无法使用该String.Replace()方法。我看过有关该主题的网页

Regex.Replace(strInput, strToken, strReplaceWith, RegexOptions.IgnoreCase);

但是由于某种原因,当我尝试用替换%PolicyAmount%$0,替换从未发生。我认为它与正则表达式中的保留字符美元符号有关。

我是否可以使用另一种方法,而不涉及对输入进行处理以处理正则表达式特殊字符?


阅读 243

收藏
2020-05-19

共1个答案

一尘不染

从MSDN
$ 0-“替换由组号匹配的最后一个子字符串(十进制)。”

在.NET正则表达式中,组0始终是整个匹配项。对于文字$,您需要

string value = Regex.Replace("%PolicyAmount%", "%PolicyAmount%", @"$$0", RegexOptions.IgnoreCase);
2020-05-19