【问题标题】:Javascript Regex to split a string into array of grouped/contiguous charactersJavascript正则表达式将字符串拆分为分组/连续字符数组
【发布时间】: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


    【解决方案1】:

    您的正则表达式很好,您只是使用了错误的函数。使用 String.match,而不是 String.split:

    var matches = 'aaaabbbbczzxxxhhnnppp'.match(/((.)\2*)/g);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-03
      • 1970-01-01
      • 2014-04-22
      • 1970-01-01
      • 2011-06-18
      • 2012-11-15
      • 2017-01-04
      • 1970-01-01
      相关资源
      最近更新 更多