728x90
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
String aaa = "test ${aaa} 입니다.";
Map<String, String> obj = new HashMap<>();
obj.put("aaa", "bbb");
String result = getTemplateSms(aaa, obj);
System.out.println(result);
}
/**
* Method 설명 : String에 ${aaa} 를 찾아내서 aaa의 위치에 value로 변경한다.
* @param <T>
* @param obj
* @param inputString
* @return
*
* <pre>
* Commnets :
* </pre>
*/
protected static <T> String getTemplateSms(String inputString, Map<String, String> obj) {
StringBuilder output = new StringBuilder();
Pattern pattern = Pattern.compile("\\$\\{(.*?)\\}");
Matcher matcher = pattern.matcher(inputString);
int lastStart = 0;
while (matcher.find()) {
String subString = inputString.substring(lastStart, matcher.start());
String varName = matcher.group(1);
String replacement = obj.get(varName);
output.append(subString).append(replacement);
lastStart = matcher.end();
}
output.append(inputString.substring(lastStart, inputString.length()));
return output.toString();
}
}
728x90