JavaScript 通过多次出现的字母拆分字符串

标签 javascript regex string split

我正在尝试通过出现一次或多次出现的字母来拆分字符串。

例如:

aaabbcapppp,将生成数组,["aaa", "bb", "c", "a", "pppp"]

我有的最低效的想法是利用 newArray = str.split(""); 并根据我的需要重建数组。我认为有更有效的解决方案。

最佳答案

像这样的东西会起作用:

"aaabbcapppp".match(/(.)\1*/g) // ["aaa", "bb", "c", "a", "pppp"]

(.) 匹配第 1 组中捕获的任何单个字符,后跟重复零次或多次的相同字符(\1 是一个反向引用,它完全匹配第 1 组匹配的内容)。

要仅匹配拉丁字母,请考虑使用 [a-z],例如:

"aaa-bbca!!pppp".match(/([a-z])\1*/g) // ["aaa", "bb", "c", "a", "pppp"]

这里,-!! 不包含在结果数组中。

关于JavaScript 通过多次出现的字母拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21997437/

相关文章:

javascript - 设置超时问题

javascript - jsTree 拖放并不总是有效

regex - 基于正则表达式替换数据框列

python - 匹配子字符串列表中的子字符串

regex - Notepad++如何删除字符串后的所有字符

python - 如何在 Python 列表中去掉\n 并拆分它周围的值

c# - 具有共享通用方法的两种可能类型的参数的通用方法

python - 在 python 3.5 中构建位字符串时出错 : the datatype is being set to U32 without my control

javascript - angularjs 指令,jquery 类选择器不工作

javascript - 如何在不修改数组本身的情况下更改从数组中获取的值?