我有我想提取和處理所有的貨幣值其中包含了格式的貨幣值一樣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