Java占位符替换工具类
发布时间:2020-12-15 03:22:14 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.util.HashMap; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * 配置文件或模板中的占位符替换
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 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)); } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |