如何在javascript中从字符串中获得数字数组
How to get an array of numbers from a string in javascript
如何从javascript字符串中获得数字数组?假设我有以下内容:
var slop = "I bought 3 but 8 4.2 of them, mmmmhghrhghrghghrgh456";
如何得到以下数组:
nums = [3, 8, 4.2, 456];
注意:如果可能的话,我不想使用jQuery
你可以这样做:
var s = "I bought 3 but 8 4.2 of them, mmmmhghrhghrghghrgh456";
var nums = s.split(/[^'d'.]+/).map(parseFloat)
.filter(function(v){ return v===v });
Result: [3, 8, 4.2, 456]
基本正则表达式获取:
var string = 'I bought 3 but 8 4.2 of them, mmmmhghrhghrghghrgh456 hello.45';
var result = string.match(/((?:'d+'.?'d*)|(?:'.'d+))/g);
console.log(result);
结果:["3", "8", "4.2", "456", ".45"]
编辑
更新为可以使用无前缀的0。xx小数。如果这不是您想要的,这是旧的正则表达式,将其匹配为(忽略点)完整数字:
var result = string.match(/('d+'.?'d*)/g);
旧的结果:["3", "8", "4.2", "456", "45"]
相关文章:
- JavaScript 在数组中查找缺少的数字
- 在javascript数组中分散数字
- 将数组键转换为数字node.js
- 删除JS数组中的最小数字
- 创建具有2个唯一数字的Javascript数组
- Javascript按数字顺序排序()数组
- 如何将数字切成更小的数字以适合我的数组
- Javascript中的非数字索引多维数组
- 指定数组中的元素对,其总和等于特定的目标数字
- 从数组/字符串中删除所有小数和单个数字
- 从数组[Javascript]的总长度中减去一个干净的数字
- 如何获取数组中数字的最大出现次数
- 如何将数字相加并将结果放入数组中
- JS:从数组中查找特定范围内的最低/最高数字
- 返回最大数字的数组
- 将数组中的所有数字组合相加
- 在数组中生成随机数,没有任何重复的数字
- 循环遍历数字和字母数组并仅提取数字
- 给定一个带有数字的数组,我如何编写一个递归函数,当 2 个元素加起来为一个目标时,它会在数组中查找索引
- 函数给出输入数字*数组的长度,而不是输入数字*数组的值(javascript)