2016-03-25 36 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)