import java.util.HashMap;
import java.util.regex.*;
public class Main {
public static void main(String[] args){
HashMap<String, String> map = new HashMap<String, String>();
map.put("name", "Bob");
map.put("lang", "java");
String s = "Hello, ${name}! You are learning ${lang}!";
Pattern p = Pattern.compile("\\$\\{(\\w+)}");
Matcher m = p.matcher(s);
StringBuilder sb = new StringBuilder();
while(m.find()){
String tmp = s.substring(m.start()+2, m.end()-1);
m.appendReplacement(sb, map.get(tmp));
}
m.appendTail(sb);
System.out.println(sb.toString());
Sign in to make a reply
WLjustdo
import java.util.HashMap;
import java.util.regex.*;
public class Main {
public static void main(String[] args){
HashMap<String, String> map = new HashMap<String, String>();
map.put("name", "Bob");
map.put("lang", "java");
String s = "Hello, ${name}! You are learning ${lang}!";
Pattern p = Pattern.compile("\\$\\{(\\w+)}");
Matcher m = p.matcher(s);
StringBuilder sb = new StringBuilder();
while(m.find()){
String tmp = s.substring(m.start()+2, m.end()-1);
m.appendReplacement(sb, map.get(tmp));
}
m.appendTail(sb);
System.out.println(sb.toString());
}
}