我有我想提取和处理所有的货币值其中包含了格式的货币值一样45,890.00
和像45,890.00,12,345.00,23,765.34,56,908.50
逗号分隔的多个值的字符串..货币用逗号
,但无法弄清楚这个正确的正则表达式,这是我曾尝试
public static void main(String[] args) {
String currencyValues = "45,890.00,12,345.00,23,765.34,56,908.50";
String regEx = "\\.[0-9]{2}[,]";
String[] results = currencyValues.split(regEx);
//System.out.println(Arrays.toString(results));
for(String res : results) {
System.out.println(res);
}
}
的这个输出是:
45,890 //removing the decimals as the reg ex is exclusive
12,345
23,765
56,908.50
有人能帮我解决这个问题吗?
你是说你想让'.00'回来?输入值应该使用更好的分隔符,而不是使用逗号,这很令人困惑。 – Raptor
是..我想在输出中返回小数,我没有控制输入字符串,它是从外部应用程序喂食。 –
如果它不是家庭作业,它可能更有意义,所以使用'String.split'作为逗号,'SimpleDecimalFormat'解析这些值。有了这个,你可以控制它是一个数字,小数点分隔符格式,然后按照你想要的方式格式化该十进制值。 – helios