使用正则表达式实现Springboot项目下的文本变量替换工具类
Posted 北溟溟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用正则表达式实现Springboot项目下的文本变量替换工具类相关的知识,希望对你有一定的参考价值。
package com.yundi.atp.platform.util;
import lombok.extern.slf4j.Slf4j;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @Author: yanp
* @Description: 使用正则表达式,实现文本变量替换
* @Date: 2021/10/15 18:34
* @Version: 1.0.0
*/
@Slf4j
public class TemplateParseUtil {
private final static Pattern pattern = Pattern.compile("((?<=\\\\{)([a-zA-Z\\\\d]+)(?=\\\\}))");
public static String regParse(String template, Map<String, Object> map) {
Matcher matcher = pattern.matcher(template);
while (matcher.find()) {
String key = matcher.group();
template = template.replaceAll("\\\\$\\\\{" + key + "\\\\}", map.get(key) + "");
}
return template;
}
public static void main(String[] args) {
String template = "${testOne} is a good ${testTwo}!";
Map map = new HashMap(16);
map.put("testOne", "I");
map.put("testTwo", "Man");
String result = regParse(template, map);
System.out.println("result:" + result);
}
}
以上是关于使用正则表达式实现Springboot项目下的文本变量替换工具类的主要内容,如果未能解决你的问题,请参考以下文章