javascript - 将数字分成 3 位数字组,其余为 2 位数字
问题描述
我想使用 JavaScript 和正则表达式将 7 位数字拆分为一组 3 位数字,其余为一组 2 这是我拥有的正则表达式
let foo = 1234567;
foo.match(([\d.]{3})([\d.]{2})([\d.]{2}))
我期待一个格式如下的数组:[123,45,67]
解决方案
您基本上拥有它,您只需使用toString()
or将数字转换为字符串String(foo)
。然后shift()
是列表中的第一项
let foo = 1234567;
let matches = foo.toString().match(/([\d.]{3})([\d.]{2})([\d.]{2})/)
matches.shift()
// Use `.map(Number)` to convert the values back to numbers
console.log(matches.map(Number))
我们还可以使用 slice 3 次来抓取字符串的不同部分,如下所示:
let foo = String(1234567)
console.log([
foo.slice(0,3),
foo.slice(3,5),
foo.slice(5,7)
].map(Number))
推荐阅读
- types - 抽象类型数组调用不成功
- python - 错误区域中的递归分形平方
- r - R - 循环遍历用户定义模型上的指标列表
- javascript - React + PropTypes 和 ESlint 错误:如何验证回调的道具
- android - 无法写入数据库 Firebase
- java - 第二次旋转后,片段尚未附加
- sql - 'nvarchar' 附近的语法不正确。每当尝试使用网格视图更新数据库表上的字段时,我都会收到此错误
- mysql - 语法错误 GROUP BY assign HAVING COUNT (*) > 1 LIMIT 0, 25
- cors - amp cdn & cors 对资源的请求
- javascript - 类型和名称应匹配