![](/img/trans.png)
[英]Replace piece of String based on Special Characters occurence using regex
[英]Replace special and optional characters in a string using regex
我正在學習正則表達式並嘗試完成一項小任務。
我將輸入金額作為字符串並將其轉換為美元格式。
輸入字符串如下所示
123456.78
輸出字符串如下所示
$123,456.78
使用正則表達式,我試圖避免使用下面的正則表達式在輸入量中可能出現的前導零和逗號。 例如,如果輸入就像
000,000123456.78
String amount = amount.replaceFirst("^[0,]+(?!$)", "");
我正在制作輸出美元格式
NumberFormat.getCurrencyInstance(new Locale("en", "US")).format(Float.parseFloat(amount));
我無法替換除前導零之外可能存在的任何其他字符。 例如,如果輸入中已經存在“$”,我將面臨轉換錯誤。 我不知道如何處理這個。
給定以下字符串。
String str = "000,000,000ab$k0b#wef$12322920292029202920456.78";
$
。str = str.replaceAll("^([0$\\D]+)","");
System.out.println(str);
String result = "";
while (!str.equals(result)) {
result = str;
str = str.replaceAll("(\\d)(\\d\\d\\d)(?!\\d)", "$1,$2");
}
System.out.println("$" + result);
印刷
12322920292029202920456.78
$12,322,920,292,029,202,920,456.78
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.