1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| public static String replaceVariable(String input, Map<String,String> map) {
Matcher m = Pattern.compile("\\{(.*?)\\}").matcher(input);
if (m.find()) {
// Création du buffer temporaire :
StringBuffer sb = new StringBuffer(input.length());
do {
// On récupère le nom de la variable :
String name = m.group(1);
// Et on effectue le remplacement :
m.appendReplacement(sb, map.get(name) );
} while (m.find());
// Copie de la fin de la chaine :
m.appendTail(sb);
// On retourne la nouvelle chaine :
return sb.toString();
}
// Pas de modif :
return input;
} |
Partager