"260000008".replaceAll("(?<=\\d)(?=(?:\\d{3})+$)", ",");
// => 260,000,008
(?<=\\d)(?=(\\d{3})+(\\.|$))
正則表達式:
(?<=\d)(?<!\.\d*)(?=(\d{3})+(\.|$))
替換為:,
我們拆開來看看:
(?<=\d) #當前位置前面必須是數字
(?<!\.\d*) #當前位置前面不能是小數點
(?=(\d{3})+(\.|$)) #當前位置是3個數字的循環,最后到小數點或結束
對照一串數字我們就不難發現,上面指定的當前位置,就是千分位所在位置,如:
345,678
12,345,678.12345
2,345,678