public static void main(String[] args) {
String template = "Hello, ${name}! You are learning ${lang}!";
Map<String, String> data = new HashMap<>();
data.put("name", "Bob");
data.put("lang", "Java");
String result = render(template, data);
System.out.println(result);
}
public static String render(String template, Map<String, String> data) {
String patternString = "\\$\\{(.+?)}";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(template);
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
String key = matcher.group(1);
String value = data.get(key);
if (value == null) {
throw new IllegalArgumentException("Key not found in data: " + key);
matcher.appendReplacement(sb, value);
matcher.appendTail(sb);
return sb.toString();
Sign in to make a reply
www.LC.com
public static void main(String[] args) {
String template = "Hello, ${name}! You are learning ${lang}!";
Map<String, String> data = new HashMap<>();
data.put("name", "Bob");
data.put("lang", "Java");
String result = render(template, data);
System.out.println(result);
}
public static String render(String template, Map<String, String> data) {
String patternString = "\\$\\{(.+?)}";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(template);
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
String key = matcher.group(1);
String value = data.get(key);
if (value == null) {
throw new IllegalArgumentException("Key not found in data: " + key);
}
matcher.appendReplacement(sb, value);
}
matcher.appendTail(sb);
return sb.toString();
}