let str = "aa22cs3333sdsa42sda12";
比如这个字符串, 最大的数字是3333, 怎么找到并返回
优化一下上面哥们的答案Math.max(...'aa22cs3333sdsa42sda12000.3'.match(/(-?\d+)(\.\d+)?/g))
支持小数与负数, String.prototype.match()
方法检索返回一个字符串匹配正则表达式的结果, 返回的是一个数组, 因此可以解构
// 定义要查找的字符串
var str = "hello world, 1234";
// 使用正则表达式匹配字符串中的数字
var matches = str.match(/\d+/g);
// 使用 Math.max 找到最大的数字
var max = Math.max(...matches);
// 输出结果
console.log(max); // 输出:1234
function getMaxNumber(str){
let max = -Infinity
let temp = ''
for(let i=0;i<str.length;i++){
if(!isNaN(temp + str[i])){
temp += str[i]
}else{
if(temp.trim() !== ''){
max = Math.max(+temp,max)
}
temp = ''
}
max = Math.max(+temp,max)
}
return max;
}
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决