我想检查我的输入字符串是否包含数字并显示这些数字的数组。该数字由一个可选的符号(-
或+
),一个或多个连续数字和一个可选的小数部分组成。小数部分由点.
和零个或多个数字组成。
例如f2('a1 12 13.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);
答案 0 :(得分:1)
您可以轻松地使用正则表达式来匹配字符串中的数字:
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);