1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| String input = "(222,234,237,282,294,324,327,330,342,345,405,441,444,447,474,483,486,501,552,558,585,588,591,615,618,651,654,666,669,675,729,732,747,771,804,831,834,840,858,879)0";
// On utilise une Map pour les couples à remplacer :
Map<String,String> replacements = new HashMap<String, String>();
replacements.put("300", "(313)300");
replacements.put("858", "(213)858");
// etc...
// On recherche tous les groupes de chiffres :
Matcher matcher = Pattern.compile("\\b[0-9]+\\b").matcher(input);
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
String key = matcher.group();
String value = replacements.get(key);
if (value==null) {
value = key;
}
matcher.appendReplacement(sb, value);
}
matcher.appendTail(sb);
String result = sb.toString();
System.out.println(result); |
Partager