javascript - 遇到数字时将字符串拆分为正好两部分的数组
问题描述
当遇到一个数字时(最好使用 ),有没有办法将一个字符串拆分为一个正好由两部分组成的数组split()
?
例子:
"Nutritional Value per 100 gram"
==>["Nutritional Value per", "100 gram"]
"Protein (g) 4.27"
==>["Protein (g)", "4.27"]
解决方案
您可以使用/ (?=\d+)/
在空格后跟一系列数字字符进行拆分:
console.log(["Nutritional Value per 100 gram", "Protein (g) 4.27"]
.map(s => s.split(/ (?=\d+)/)));
如果您想概括这一点并且不依赖于数字序列之前是否存在空格,请尝试:
console.log(["Nutritional Value per100 gram", "Protein (g)4.27", "0a11b 2.2cc3"]
.map(s => [...s.matchAll(/^\D+|(?:\d[\d.]*\D*)/g)]));
推荐阅读
- guava - 如何纠正由番石榴引起的错误:程序类型已存在:com.google.common.util.concurrent.internal.InternalFutures
- redis - redis-cluster - 从永远挂起的远程机器将节点从属添加到现有集群
- scala - 获取字段名称作为字符串
- java - 在arraylist java中将行增加1
- angular - 单选按钮的角度中 id 属性的唯一值
- php - 删除与用户名相关的行
- sql - 带有空值的 SQL 重复
- javascript - ES6:触发 React 函数
- vue.js - 如何停止 vue cli 构建“report.html”?
- python-3.x - NLP 中标记元素的可视化(折叠、展开、突出显示)