我有以下字符串:
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
我需要删除所有货币符号
感谢您的帮助!
答案 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