public static void main(String[] args) {
String body = "Rs. 199.32.test";
System.out.println(body);
body = body.replaceAll("\\d+[,\\\\./-[0-9]*]*\\d*", "xxxxx");
System.out.println(body);
}
当前输出为Rs. xxxxxtest
期望输出为Rs. xxxxx.test
我无法更新使用正则表达式来获得所需的结果。我不想替换小数点后的最后一个点。
答案 0 :(得分:3)
这将有效
String body = "Rs. 199.32.test";
System.out.println(body.replaceAll("(\\d+)(?:(?:\\.)(\\d+))?", "$1$2"));
<强> Ideone Demo 强>
<强> Regex Demo 强>
答案 1 :(得分:0)
你可以这样做。
public class Main {
public static void main(String[] args) {
String body = "Rs. 199.32.test";
System.out.println(body);
body = body.replaceAll(body.substring(0,body.lastIndexOf('.')), "xxxxx");
System.out.println(body);
}
}