如何在JavaScript中将数字字符串拆分成块

Cos*_*Cos 2 javascript split chunks

可以说我有一个带有随机数的字符串,例如下面的字符串,11111111133333333333222222220000000111111010101010223311232323我想将上面的字符串分成块,每个数字组成一个大块,然后将其放入数组或对象中(没关系)。

到目前为止,我想到的第一个解决方案是遍历字符串,如果您发现与上一个字符不同的字符,则开始将当前字符推入对象中。我发现的第二个解决方案是用完成过渡的字符替换字符串中的每个字符过渡,并在中间加上一个空格字符,然后将该字符串拆分为空格字符。第二种解决方案对我来说很难实施,因为我无法想到正则表达式是什么样子。第一个解决方案是可行的,但编码过多,我希望可以更快地找到解决方案。

因此,预期的输出将是一个一维数组,其中每个单元格将具有如下所示的数字块(对于上述字符串)。

[111111111, 33333333333, 22222222, 0000000,
111111, 0, 1, 0, 1, 0, 1, 0,
1, 0, 22, 33, 11, 2, 3, 2, 3, 2, 3]
Run Code Online (Sandbox Code Playgroud)

Nin*_*olz 15

您可以匹配一个角色并跟随同一组。

var string = '11111111133333333333222222220000000111111010101010223311232323',
    result = string.match(/(.)\1*/g);

console.log(result);
Run Code Online (Sandbox Code Playgroud)

  • 哇,我从未听说过反向引用 (3认同)