2016-03-25 39 views
0

我有一個8位數的字符串。我如何能在以下sequesnce在順序中添加3個空格

var str = "11111111"; 
//expected output 1111 11 11 

添加一個空格後的第4位,然後接下來的兩個數字添加一個空格,然後在最後兩個數字前。

我知道要做單個空間(.replace(/[_]/g," ");)。但是,我如何按照上述順序做3?

回答

7

你可以使用一個正則表達式替換

"11111111".replace(/(....)(..)(..)/, '$1 $2 $3') 
+1

或者作爲替代' 「11111111」 .replace(/({4})(。 {2})(。{2})/,'$ 1 $ 2 $ 3')'。儘管@potatopeelings的版本可能更具可讀性。 –

+0

你能否簡單地解釋一下你在哪裏定義空間?如果我需要添加'.'而不是空格呢? – Becky

+1

該空間位於替換的第二個參數中($ 1 $ 2 $ 3)。你可以做''11111111「.replace(/(....)(..)(..)/,'$ 1. $ 2. $ 3')' – potatopeelings

2

可以使用子方法:

var result = str.substring(0, 4) + " " + str.substring(4, 6) + " " + str.substring(6)