【发布时间】:2011-09-21 05:31:17
【问题描述】:
我正在尝试和这个人做同样的事情,只是他是在 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]);
}
这实际上有点/有点工作......但不是真的......我显然分裂太多,否则我不必通过 +3 索引操作来消除虚假条目。
我怎样才能得到一个只包含我想要的东西的干净数组?
谢谢-
【问题讨论】:
标签: javascript regex arrays string split