我正在尝试做这个人正在做的事情,只是他在Ruby中这样做,我试图通过Javascript来做:
Split a string into an array based on runs of contiguous characters
它基本上只是将一个字符串拆分成一个连续字符数组 - 例如:
给出输入字符串
'aaaabbbbczzxxxhhnnppp'
将成为
的数组['aaaa','bbbb','c','zz','xxx','hh','nn','ppp']
我最接近的是:
var matches = 'aaaabbbbczzxxxhhnnppp'.split(/((.)\2*)/g);
for (var i = 1; i+3 <= matches.length; i += 3) {
alert(matches[i]);
}
实际上有点/ sorta工作...但不是真的..我显然分裂太多了,否则我不会用+3索引操作来消除虚假条目。
我怎样才能得到一个只有我想要的干净阵列?
谢谢 -
答案 0 :(得分:7)
你的正则表达式很好,你只是使用了错误的功能。使用String.match,而不是String.split:
var matches = 'aaaabbbbczzxxxhhnnppp'.match(/((.)\2*)/g);