package com.yinhai.portal.system.msg.service; import java.util.HashMap; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @description: * @author: Mr.Li * @create: 2019-11-28 10:22 **/ public class Test { public static void main(String[] args) { Test t = new Test(); String content = "尊敬的{xingming}先生/女士,您的贷款在{yhksj}应偿还本息{yhkje}元,为避免影响您的个人信用,请提前足额存入您{khyh}尾号为{khyhkh}的账户。"; Map plus = new HashMap(); plus.put("xingming", "张三"); try { System.out.println(t.msgContentHandler(content, plus)); } catch (Exception e) { e.printStackTrace(); } } private String msgContentHandler(String content, Map plus) throws Exception { if (ValidateUtil.isEmpty(plus) || ValidateUtil.isEmpty(content)) { return content; } Pattern p = Pattern.compile("\\{[a-zA-Z0-9]+\\}"); Matcher m = p.matcher(content); while (m.find()) { String tmplStr = m.group();//{xingming} tmplStr = tmplStr.replace("{", "").replace("}", ""); if (!ValidateUtil.isEmpty(plus.get(tmplStr))) { content = content.replace(m.group(), plus.get(tmplStr).toString()); } } return content; } }
java中使用正则表达式替换模板{}中的内容
最新推荐文章于 2023-11-07 15:12:26 发布