比方說,我有以下字符串:的Java:與加工匹配替換正則表達式
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);
}
}
);
也就是說,使用字符串處理器在進行實際替換之前修改匹配的子字符串。
是否有一些圖書館已經寫入實現這一目標?
太好了,真的被忽視了這種方法!萬分感謝。 – glmxndr 2010-02-05 14:33:44
我不知道'appendReplacement'和'appendTail'。非常感謝。 – NawaMan 2010-02-05 14:56:44