javascript - 如何根据每四个逗号将字符串拆分为数组?
问题描述
所以我试图根据逗号的数量将一个字符串拆分成一个数组,我该怎么做?说我的字符串是这样的;
var string = "abc, def, ghi, jkl, mno, pqr, stu, vwx, yza";
我如何拆分它以使其返回;
var array = ["abc, def, ghi, jkl,", "mno, pqr, stu, vwx,", "yza"]
这甚至可能吗?
现在我正在使用var array = string.split(', ');
但这会根据每个逗号将字符串添加到数组中。
任何帮助,将不胜感激!
解决方案
我会使用.match
而不是split
- 匹配(非逗号,后跟逗号或字符串结尾)4次:
var string = "abc, def, ghi, jkl, mno, pqr, stu, vwx, yza";
const result = string.match(/(?:[^,]+(?:,|$)){1,4}/g);
console.log(result);
(?:[^,]+(?:,|$)){1,4}
- 重复 1 到 4 次:[^,]+
- 非逗号字符(?:,|$)
- 逗号或字符串的结尾
如果要确保第一个字符不是空格,请\S
在开头查找(非空格字符):
var string = "abc, def, ghi, jkl, mno, pqr, stu, vwx, yza";
const result = string.match(/(?=\S)(?:[^,]+(?:,|$)){1,4}/g);
console.log(result);
推荐阅读
- reactjs - TypeScript 中的 Redux Toolkit:添加时间戳的 createAction 抽象
- firebase - 凭据无效 - Unity Firebase
- r - 删除双空格
- python-3.x - Python3 上的图像模块问题
- linux - 无法使用 OpenSSL 交叉编译 PostgreSQL,失败
未找到 - 尽管指定了包含搜索路径 - quantlib - 安装 QuantLib-Python 时 pipenv 锁定失败
- spring - 使用单声道
在 if 语句中 - c# - 如何执行取决于 .exe 位置的文件路径
- reactjs - 在不使用 Hooks 的情况下,在 Reactjs 中从头开始创建汉堡菜单的最佳方法是什么?
- c# - .net5 升级后 Azure 函数无法创建 Microsoft.Extensions.Logging.Abstractions.dll