Java正则表达式除了小数点

时间:2016-09-08 16:40:03

标签: java regex

我有以下字符串:

S/. 05.56
S/. 0.0
S/. 0.00
S/. 90.10
S/.   01.23
S/.   1.00   
S/.1.80
$/.9.80
$/.  10.80
$/.    89.81
$    89.81

我需要这个输出

05.56
0.0
0.00
90.10
01.23
1.00
1.80
9.80
10.80
89.81

我需要在第一个数字之前删除所有非数字字符,然后正则表达式不能删除小数点

我试过这个正则表达式但不起作用:

e.replaceAll("[a-zA-z](/.)( )*", ""); //don't remove $
e.replaceAll("[^0-9.]", ""); //This show .3.4 I need remove the first point decimal

我需要删除所有货币符号

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

使用^\\D+替换每个字符串开头的所有非数字。

public static void main(String[] args) {

    String[] str = { "S/. 05.56", "S/. 0.0", "S/. 0.00", "S/. 90.10", "S/.   01.23", "S/.   1.00", "S/.1.80",
            "$/.9.80", "$/.  10.80", "$/.    89.81", "$    89.81" };

    for (String s : str) {
        System.out.println(s.replaceAll("^\\D+", ""));
    }

}

O / P:

05.56
0.0
0.00
90.10
01.23
1.00
1.80
9.80
10.80
89.81
89.81