zoukankan      html  css  js  c++  java
  • 使用正则匹配并填充文本模板

    需求说明:

    实现文本内容的灵活配置。

    设计说明:

    根据固定的文本模板,在模板中替换必要的值文本内容。例如:【待办提醒】${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;
    }

    运行结果:

  • 相关阅读:
    23种设计模式之外观模式
    HashMap系列之底层数据结构
    HashMap系列之基本概念
    轻松搞定荷兰国旗问题
    服务治理:Spring Cloud Eureka
    Spring Cloud简介
    简单了解什么是微服务架构
    字符串和时间
    调用shell命令
    s3操作
  • 原文地址:https://www.cnblogs.com/Med1tator/p/9203005.html
Copyright © 2011-2022 走看看