所以我有一个长字符串,其中有“保留字”,我需要用它们从数据库中的值替换。
eg.
string text = "You're salary for the month of ((month)) is ((salary))
现在我所做的是匹配每个保留字,然后搜索我的数据集,然后用它们的值替换它们
Regex ex = new Regex(@"(?<=\(\().*?(?=\)\))");
foreach(Match match in ex.Matches(body)){
string valuefromset = values.FirstOrDefault(val => val.Variable == match.Value).Value;
var pattern = @"(("+match.Value+"))";
body = Regex.Replace(body, pattern, valuefromset, RegexOptions.IgnoreCase);
}
}
现在发生的事情是这样的
text = "You're salary for the month of ((April)) is (($10000))";
我不确定为什么模式只会得到单词而不是标签。我应该使用另一个正则表达式但具有特定值吗?拥有特定的保留字在模式中很重要,这就是我使用它的原因,我不确定我在做什么。
任何帮助表示赞赏。谢谢!!!