2014-07-11 35 views
0

點在Python我可以這樣做:三胞胎在大數目

import re 
s = '123123123123' 
re.sub(r"(?<=.)(?=(?:...)+$)", ",", s) 
123,123,123,123 

如何使JavaScript中的一樣嗎?

+0

可能重複[如何在JavaScript中使用逗號作爲千位分隔符來打印數字](http://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as - 千分 - 在JavaScript中) –

回答

1

沒有Lookbehinds在JavaScript

這個問題很有趣,因爲JS沒有lookbehinds。但是,我們可以做這樣的:

replaced = yourString.replace(/(?!^)(?=(?:...)+$)/g, ","); 

說明

  • (?!^)負前瞻是更換您的回顧後的伎倆。它斷言接下來的不是字符串的開始。在字符串的起始位置,這是一個零寬度位置,失敗(將其視爲0 + 0 = 0)
  • 如您所知,您的(?=(?:...)+$匹配的位置後跟三個字符x一個或更多次,然後結束字符串,確保逗號插入正確的位置。
+0

zx81,你可以通過這意味着什麼運行的機會? – Andy

+0

@安迪,高興地 - 只是補充說明。 :) – zx81

+0

非常感謝,隊友。 – Andy

相關問題