Javascript 使用正则表达式从字符串中查找最大数
我有一个变量字符串,如:Javascript 使用正则表达式从字符串中查找最大数,javascript,regex,Javascript,Regex,我有一个变量字符串,如: var myString = "857nano620348splitted3412674relation5305743"; 如何从中找到最大的数字 我像下面这样试过,但没有成功 var matches = myString.match(/d+/g); 我会去的 var myString = "857nano620348splitted3412674relation5305743"; var largest = Math.max.apply(null, myStri
var myString = "857nano620348splitted3412674relation5305743";
如何从中找到最大的数字
我像下面这样试过,但没有成功
var matches = myString.match(/d+/g);
我会去的
var myString = "857nano620348splitted3412674relation5305743";
var largest = Math.max.apply(null, myString.match(/\d+/g));
myString.match(/\d+//g)
返回一个数字数组,使用Math.max.apply(scope,array)
返回该数组中的最大数字。您可以使用以下解决方案使用正则表达式从字符串中查找最大数字:
var numArray = xmr.match(/\d+/g); //this will store all numbers from xmr to numArray.
numArray.sort(function(a,b){return a-b});
var largest = numArray[numArray.length - 1];
var myString ="857nano620348splitted3412674relation5305743";
Math.max(...myString.match(/\d+/g))`
基本上,用正则表达式查找所有匹配项,对匹配项进行数字排序(或在列表中查找最大值),输出最大值。除了解决此问题的挑战之外。。。我想知道。。。你为什么要这么做?@scunlife我是个新手,一个随机的想法出现了。抱歉,如果我违反了提问规则。变量名
xmr
代表什么,或者完全是任意的?@scunlife谢谢你。但我确实有一天会解决一个现实世界中的代码问题,如果我到了那里。我想单是这个答案就可以让adeneo达到10万:)是的,这确实有帮助。不幸的是,我们必须再等7分钟才能接受答案。@ErikAllik-这通常只是运气,一些伟大的答案永远不会被高估和遗忘,而有时一个简单简洁的工作答案会被高估很多,有时甚至非工作答案也会被高估很多。这是一个奇怪的地方,在这里如此。@anubhava-不幸的是,有一个每天200次的限制,所以可能不是!是的,我知道200个限制,但它可能会很快给你一个金徽章。有一个问题,array.sort
不是那样的数字排序,因此数组的排序方式并不正确。这是因为array.sort()
将每个元素转换为字符串,并按字典顺序排序。这种方法仍然可以使用提供给array.sort()
的自定义排序函数来执行数字排序。是的,您完全正确……要使其下降,您可以将函数更改为“function(a,b){return b-a}”…+1,现在它可以工作了!作为旁注,您可以执行var max=numArray.pop()代码>,看起来更漂亮。嗨!虽然这是必须的,但代码似乎是不言自明的,很好地提供一些解释,说明这是如何解决问题的。@Erubiel谢谢。下次我会添加解释表