簡體   English   中英

如何從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 });

結果: [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"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM