使用正则匹配并填充文本模板
Posted med1tator
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用正则匹配并填充文本模板相关的知识,希望对你有一定的参考价值。
需求说明:
实现文本内容的灵活配置。
设计说明:
根据固定的文本模板,在模板中替换必要的值文本内容。例如:【待办提醒】${DeparmentName}-${EmployeeName}休假申请,待您审批处理![${AbsenceDate}]
代码实现:
static void Main(string[] args) { string originText = "【待办提醒】${DeparmentName}-${EmployeeName}休假申请,待您审批处理![${AbsenceDate}]"; Console.Write(Match(originText)); Console.ReadKey(); } static string Match(string originText) { string result = originText; // 相当于数据库 Dictionary<string, string> dict = new Dictionary<string, string> { { "DeparmentName", "研发部" }, { "EmployeeName", "Med1tator DING" }, { "AbsenceDate", DateTime.Now.ToString("yyyy-MM-dd") } }; // 正则表达式 string pattern = @"${[^}]+}"; MatchCollection matchCollection = Regex.Matches(originText, pattern); // 匹配结果项 foreach (var match in matchCollection) { string key = match.ToString().Trim(‘$‘, ‘{‘, ‘}‘); // dict的key,相当于获取数据库字段名 string value = dict[key]; // dict的value,相当于获取数据库字段值 result = result.Replace(match.ToString(), value); // 用字段值替换匹配项 } return result; }
运行结果:
以上是关于使用正则匹配并填充文本模板的主要内容,如果未能解决你的问题,请参考以下文章