我想检查我的输入字符串是否包含数字,并显示这些数字的数组。数字由可选符号(-
或)、一个或多个连续数字和可选小数部分组成。小数部分由一个点
组成。
后面跟着零或更多位数。
例如f2('a1 1213.b-14.5 2')
:返回[1, 12, 13, -14.5, 2]
我从这里的一个响应中尝试这段代码
function f2(input) {
let str = String(input);
for (let i = 0; i < str.length; i++) {
console.log(str.charAt(i));
if (!isNaN(str.charAt(i))) {
//if the string is a number, do the following
return str.charAt(i);
}
}
}
let result = f2("a1 12 13.b -14.5+2");
console.log(result);
您可以轻松使用正则表达式匹配字符串中的数字:
function f2(input) {
let str = String(input);
let result = str.match(/\-?\d+\.\d+|\-?\d+/g)
return result
}
let result = f2("a1 12 13.b -14.5+2");
console.log(result);