如何在一行中从字符串中提取数字(有时带点)?
var str = "ghjkhjgbkhj123.45khgbkhjgk67 8kjhgkj hg13.99sads";
我需要一个数组
[123.45, 67, 8, 13.99];
str.match(/\d+/g)
返回稍微不同的结果 - 它不会计算 "."
。如何在一行中从字符串中提取数字(有时带点)?
var str = "ghjkhjgbkhj123.45khgbkhjgk67 8kjhgkj hg13.99sads";
[123.45, 67, 8, 13.99];
str.match(/\d+/g)
返回稍微不同的结果 - 它不会计算 "."
。使用正则表达式 /\d+(?:\.\d+)?/g
。
var str = "ghjkhjgbkhj123.45khgbkhjgk67 8kjhgkj hg13.99sads";
console.log(
str.match(/\d+(?:\.\d+)?/g)
);
str.match(/[.\d]+/g)
可以实现你所要求的功能。它允许多个小数点,因此如果你想对123.456.789
做一些“明智”的操作,你可能需要更复杂的处理方式--但在这种情况下,你应该首先确定你想要的更合理的处理方式。