将字符串切割为“可变”长块

时间:2013-10-25 11:38:29

标签: javascript regex string

我已经研究过这个问题,但我找不到一个好的答案。所以这是我的代码:

var str = '000100111000010110'
var length = 2;
var temp = new Array(str.match(/.{length}/g));

但这不起作用。

保持变量的长度非常重要,如果我不需要,我将不会使用正则表达式。

1 个答案:

答案 0 :(得分:2)

只需使用常规for循环和substr即可。不需要在不需要的地方使用正则表达式:

var str = '000100111000010110';
var length = 2;

var split = [];
for (var i = 0; i < str.length; i += length) {
    split.push(str.substr(i, length));
}

console.log(split);
// ["00", "01", "00", "11", "10", "00", "01", "01", "10"]