前言:
现时小伙伴们对“mysql 正则替换查询结果”大致比较关注,小伙伴们都需要知道一些“mysql 正则替换查询结果”的相关知识。那么小编同时在网上收集了一些关于“mysql 正则替换查询结果””的相关文章,希望大家能喜欢,朋友们快快来了解一下吧!我经常需要进行动态替换字符串,如;
姓名${user}为的同学,考试总分为${score}
我们需要将${}里面的内容替换为我们动态传入的值
使用正则实现\:
public static void main(String[] args) { Map<String, String> map = new HashMap<>(); map.put("user", "张无忌"); map.put("score", "98"); String str = "姓名${user}的同学,考试总分为${score}"; String patern = "\\$\\{(.+?)\\}"; Pattern p = Pattern.compile(patern); Matcher ma = p.matcher(str); StringBuffer buff = new StringBuffer(); while (ma.find()) { String key = ma.group(1); String val = map.get(key); //将当前匹配子串替换为指定字符串,并且将替换后的子串以及其之前到上次匹配子串之后的字符串段添加到一个 StringBuffer 对象里 ma.appendReplacement(buff, val == null ? "" : val); } //将最后一次匹配工作后剩余的字符串添加到一个 StringBuffer 对象里 ma.appendTail(buff); System.out.println(buff.toString()); }
运行结果:
姓名张无忌的同学,考试总分为98
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #mysql 正则替换查询结果