除了前0和1之外我怎么能得到所有数字,例如043241.124.22,我需要得到43241.24.22。 我写了代码
Pattern p = Pattern.compile("[2-9]");
String[] split = number.split("\\.")
String n = "";
Matcher m = p.matcher(split[0])
m.find();
n += split[0].substring(matchere.start()) + "."
....
但我认为它可以通过一两行
来完成答案 0 :(得分:1)
使用replaceAll()
,扫描其他数字0
或1
数字,即
0
或1
数字:[01]
(?<=^|\D)
或(?<!\d)
(?=\d)
找到这些的正则表达式是:(?<=^|\D)[01](?=\d)
Java代码是:
String n = number.replaceAll("(?<=^|\\D)[01](?=\\d)", "");
有关正常工作的代码,请参阅IDEONE。
答案 1 :(得分:0)
你应该使用循环。希望这会有所帮助。
Pattern p = Pattern.compile("[2-9]");
String[] split = number.split("\\.");
String n = "";
for(int i=0;i<split.length;i++)
{
Matcher m = p.matcher(split[i]);
m.find();
n += split[i].substring(m.start())+".";
}
System.out.println(n);