Discuss / Java / GPT答案,作业

GPT答案,作业

Topic source

www.LC.com

#1 Created at ... [Delete] [Delete and Lock User]

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();

}


  • 1

Reply