Java 替换字符串中${paramname}
/**
* 替换文本中${paramname}
* @param template
* @param params
* @return
*/
public static String getContentWithData(String template, Map<String, Object> params){
String pattern = "\\$\\{(.+?)\\}";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(template);
StringBuffer sb = new StringBuffer();
while (m.find()){
String key = m.group(1);
Object value = params.get(key);
m.appendReplacement(sb, value == null ? "" : StringUtilExt.getStr(value));
}
m.appendTail(sb);
return sb.toString();
}
StringUtilExt.java
import org.apache.commons.lang3.StringUtils;
/**
* object转字符串
* @param obj
* @return
*/
public static String getStr(Object obj){
if(obj!=null){
return trim(String.valueOf(obj));
}
return null;
}
/**
* 去空字符,空值原样返回
* @param value
* @return
*/
public static String trim(String value){
if(StringUtils.isEmpty(value)){
return value;
}
return value.trim();
}