javascript - 在 Javascript 中的每个新字母之前分割字符串

标签 javascript ecmascript-6

假设我有以下代码:

var string = "A111B222C333D444E555";
var arr = string .match(/.{1,4}/g);

这基本上将字符串每 4 个字符分割成一个数组,并给出正确的格式:

0 => A111
1 => B222
3 => C333
4 => D444
5 => D555

问题在于,只有每个字母数字组合都包含 4 个字符时,此代码才有效。如果字符串是 A11B22C33D44E555,则代码将生成错误的格式

0 => A11B
1 => 22C3
3 => 3D44
4 => E555

当所需的输出格式实际上是:

0 => A11
1 => B22
3 => C33
4 => D44
5 => E55

是否可以在每个新字母之前拆分字符串,而不必担心每个字母后面有多少个数字?

最佳答案

更改正则表达式以匹配字母字符,后跟一个或多个数字:

var string = "A11B22C33D44E555";
console.log(string.match(/[a-z]\d+/gi));

关于javascript - 在 Javascript 中的每个新字母之前分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59296264/

相关文章:

javascript - 使用 JS (ES6) 切换 Accordion /标签的问题

javascript - 同步 xm​​lHttpRequest 调用的回调何时执行?

javascript - lodash sortBy 不适用于秒

javascript - Function.prototype.toMethod() 是做什么的?

javascript - 如何扩散到导出

javascript - Parsley.js 验证未触发

javascript - 下拉菜单与其他导航项重叠

javascript - 将 ES6 可迭代对象转换为数组

javascript - 所有 JavaScript 函数最终都会归结为 ECMAScript 或 Web API 规范吗?

javascript - 将 String.raw() 与 Node JS 结合使用