Java占位符替换工具类
来源:互联网 发布:unity3d 5.3.4f1 下载 编辑:程序博客网 时间:2024/06/06 20:17
import java.util.HashMap; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * 配置文件或模板中的占位符替换工具类 * Date: 15-5-8 * Time: 下午4:12 */ public class PlaceholderUtils { private static final Logger logger = LoggerFactory.getLogger(PlaceholderUtils.class); /** * Prefix for system property placeholders: "${" */ public static final String PLACEHOLDER_PREFIX = "${"; /** * Suffix for system property placeholders: "}" */ public static final String PLACEHOLDER_SUFFIX = "}"; public static String resolvePlaceholders(String text, Map<String, String> parameter) { if (parameter == null || parameter.isEmpty()) { return text; } StringBuffer buf = new StringBuffer(text); int startIndex = buf.indexOf(PLACEHOLDER_PREFIX); while (startIndex != -1) { int endIndex = buf.indexOf(PLACEHOLDER_SUFFIX, startIndex + PLACEHOLDER_PREFIX.length()); if (endIndex != -1) { String placeholder = buf.substring(startIndex + PLACEHOLDER_PREFIX.length(), endIndex); int nextIndex = endIndex + PLACEHOLDER_SUFFIX.length(); try { String propVal = parameter.get(placeholder); if (propVal != null) { buf.replace(startIndex, endIndex + PLACEHOLDER_SUFFIX.length(), propVal); nextIndex = startIndex + propVal.length(); } else { logger.warn("Could not resolve placeholder '" + placeholder + "' in [" + text + "] "); } } catch (Exception ex) { logger.warn("Could not resolve placeholder '" + placeholder + "' in [" + text + "]: " + ex); } startIndex = buf.indexOf(PLACEHOLDER_PREFIX, nextIndex); } else { startIndex = -1; } } return buf.toString(); } public static void main(String[] args) { String aa= "我们都是好孩子,${num}说是嘛? 我觉得${people}是傻蛋!"; Map<String, String> map = new HashMap<String, String>(); map.put("num","小二比"); map.put("people","小明"); System.out.println(PlaceholderUtils.resolvePlaceholders(aa, map)); } }
阅读全文
0 0
- Java占位符替换工具类
- java 占位符替换
- 一个替换java字符串中${}或者{}等占位符的工具类
- JAVA字符串占位符替换
- JAVA字符串占位符替换
- JAVA字符串占位符替换
- JAVA字符串占位符替换
- 配置文件或者模板中的占位符替换工具类
- 配置文件或模板中的占位符替换工具类.
- 替换占位符
- Apache 占位符工具类
- java 字符串占位符替换之字符串占位符实现(java简单模板渲染实现)
- JAVA 处理Word模板文件,替换其中的占位符
- 替换properties文件 占位符
- jdbc工具类,带占位符
- 简单的string占位符替换
- Spring自定义占位符替换(PropertyPlaceholderConfigurer)
- 简单的string占位符替换
- 华为OJ系列(四)
- 安卓图片压缩
- String 操作方法
- Android集成极光推送和踩过的坑(一)
- 如何查看Activity任务栈以及dumpsys_activity命令的简要使用及介绍
- Java占位符替换工具类
- mysql数据库给表创建序列
- 深入理解JVM(2)——内存区域与内存溢出
- 学习笔记——JAVA 内部类
- 用递归方式将当前路径下的文件按行输出
- No route to host: Datagram send failed UDP广播异常
- Android shrinkResources 问题
- CreateFileMapping_1
- 记念我的第一个篇博客