Lassen Sie uns sagen, dass ich die folgende Zeichenfolge haben:Java: ersetzen regexp mit verarbeitetem Spiel
String in = "A xx1 B xx2 C xx3 D";
Ich möchte das Ergebnis:
String out = "A 1 B 4 C 9 D";
Ich mag es wäre eine Möglichkeit, die meisten ähnlich zu tun:
String out = in.replaceAll(in, "xx\\d",
new StringProcessor(){
public String process(String match){
int num = Integer.parseInt(match.replaceAll("x",""));
return ""+(num*num);
}
}
);
Das heißt, einen String-Prozessor verwenden, der den übereinstimmenden Teilstring vor dem eigentlichen Ersetzen ändert.
Wurde bereits eine Bibliothek geschrieben, um dies zu erreichen?
Großartig, wirklich diese Methode übersehen! Danke vielmals. – glmxndr
Ich wusste nicht über 'appendReplacement' und' appendTail'. Danke vielmals. – NawaMan