Допустим, у меня есть следующая строка:
String in = "A xx1 B xx2 C xx3 D";
Я хочу получить результат:
String out = "A 1 B 4 C 9 D";
Я хотел бы сделать это способом, наиболее похожим на:
String out = in.replaceAll(in, "xx\\d",
new StringProcessor(){
public String process(String match){
int num = Integer.parseInt(match.replaceAll("x",""));
return ""+(num*num);
}
}
);
То есть, используя строковый процессор, который изменяет соответствующую подстроку перед фактической заменой.
Есть ли какая-то библиотека, уже написанная для достижения этой цели?