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;
    }

    运行结果:

  • 相关阅读:
    Hibernate4与Spring3的不兼容问题
    关于Struts2框架下jsp获取action的布尔值问题
    js 操作select和option常见用法
    用socaket编写客户端与服务端程序相互发送消息
    Web编程
    第二篇
    java基础
    GeoServer style标注中文乱码配置
    RabbitMQ高可用方案总结
    Visual Studio 2019 注册KEY
  • 原文地址:https://www.cnblogs.com/Med1tator/p/9203005.html
Copyright © 2011-2022 走看看