Javascript等价于爆炸

Javascript等价于爆炸,javascript,Javascript,我最初的想法是使用JSON从URL中获取一个特定的数字 如何使用Javascript仅接收14?我会使用split()还是不一样?获取所有数字: var url = "http://fh13.fhcdn.com/static/img/nations/14.png"; url.match(/\d+/g); // returns ["13","14"], so url.match(/\d+/g).pop() == "14" 或者抓取“14.png”,然后抓取parseInt(): 要获取所有

我最初的想法是使用JSON从URL中获取一个特定的数字

如何使用Javascript仅接收14?我会使用split()还是不一样?

获取所有数字:

var url = "http://fh13.fhcdn.com/static/img/nations/14.png";
url.match(/\d+/g);   // returns ["13","14"], so url.match(/\d+/g).pop() == "14"
或者抓取“14.png”,然后抓取parseInt():

要获取所有数字:

var url = "http://fh13.fhcdn.com/static/img/nations/14.png";
url.match(/\d+/g);   // returns ["13","14"], so url.match(/\d+/g).pop() == "14"
或者抓取“14.png”,然后抓取parseInt():

您可以使用
split()
。它的第一个参数可以是字符串或正则表达式。因此,如果您想基于多个删除器拆分字符串,只需快速生成字符的正则表达式即可。

您可以使用
split()
。它的第一个参数可以是字符串或正则表达式。因此,如果您想基于多个删除器拆分字符串,只需快速生成字符的正则表达式即可。

您可以执行以下操作:

var l = "http://fh13.fhcdn.com/static/img/nations/14.png";
var larr = l.split("/");
var laast = larr.pop();
console.log(laast.split(".")[0]); //gets 14
你可以做:

var l = "http://fh13.fhcdn.com/static/img/nations/14.png";
var larr = l.split("/");
var laast = larr.pop();
console.log(laast.split(".")[0]); //gets 14

是的,分开是一条路

var n = '14.jpg';
var p = n.split('.');
console.log(p[0]);
此外,如果文件名中有一个点,可以尝试以下操作:

var n = 'file.14.jpg';
var p = n.split('.');
p.pop(); //removes the extension
console.log(p.join('.'));

是的,分开是一条路

var n = '14.jpg';
var p = n.split('.');
console.log(p[0]);
此外,如果文件名中有一个点,可以尝试以下操作:

var n = 'file.14.jpg';
var p = n.split('.');
p.pop(); //removes the extension
console.log(p.join('.'));

如果你总是有相同的结构可以使用

var url = "http://fh13.fhcdn.com/static/img/nations/14.png";
var n = ((url.split(".")[2]).split("/"))[4]; //return 14

如果你总是有相同的结构可以使用

var url = "http://fh13.fhcdn.com/static/img/nations/14.png";
var n = ((url.split(".")[2]).split("/"))[4]; //return 14

字符串的
.split
explode
更等同于
preg_split
(或不推荐使用的
split
),因为它也使用正则表达式,使用方法也不同,但实际上可以以相同的方式使用

url.substring(url.lastIndexOf('/') + 1).split('.')[0]

您还可以使用
.lastIndexOf('.')
作为
子字符串的第二个参数
字符串的
。split
preg_split
(或弃用的
split
)相比,更等效于
explode
,因为它也采用正则表达式,并且使用方法不同,但实际上也可以用同样的方法

url.substring(url.lastIndexOf('/') + 1).split('.')[0]


您还可以使用
.lastIndexOf('.')
作为
子字符串的第二个参数

这不会也得到13吗?@Jace:在commenturl.match(/\/(\d+)\.png$/)[1]您可以将png替换为\w+,并避免使用parseInt()@user1936123:使用
.pop()的原因
是因为您不知道URL中有多少个数字-pop()将返回最后一个数字,无论是一个匹配还是多个匹配。此外,如果你有一个类似于
www.google.com/14.png?someotherurlmagic=15.gif
的url,当“14”确实是想要的字符串时,最好由作者决定。最后,最好使用
[^\d]*
(或
\d*
)而不是
\w*
,这样做不会也得到注释URL.match(/\/(\d+)\.png$/)中解释的13?@Jace:
是因为您不知道URL中有多少个数字-pop()将返回最后一个数字,无论是一个匹配还是多个匹配。此外,如果你有一个类似于
www.google.com/14.png?someotherurlmagic=15.gif
的url,当“14”确实是想要的字符串时,最好由作者决定。最后,最好使用
[^\d]*
(或
\d*
)而不是
\w*
当然,
split()
就像
explode()
,如果这是你的问题的话。你为什么不自己尝试写一些代码来完成这个相当简单的目标呢?@MattBall非常感谢你,我只需要确认一下<代码>url.split('/').pop().replace(/[^0-9]/g')
如果您想将其从最后一部分(文件名)中删除。
var num=parseInt(URL.substring(URL.lastIndexOf(“/”)+1))
如果您总是有一个数字并且没有前导0s@JaredFarrish当然,
split()
就像
explode()
,如果这是你的问题的话。你为什么不自己尝试写一些代码来完成这个相当简单的目标呢?@MattBall非常感谢你,我只需要确认一下<代码>url.split('/').pop().replace(/[^0-9]/g')如果您想将其从最后一部分(文件名)中删除。
var num=parseInt(URL.substring(URL.lastIndexOf(“/”)+1))
如果您总是有一个数字并且没有前导0s@JaredFarrish喜欢pop()或者如果没有前导0就只需parseInt,如果没有前导0就只需parseInt,这非常完美,谢谢!我试过你的代码,返回未定义?如果文件名中有一个点(或很多点)会怎么样?这是非常严格的…“如果你总是有相同的结构可以使用”非常好,谢谢!我试过你的代码,返回未定义?如果文件名中有一个点(或多个点)怎么办?这是非常严格的…“如果你总是使用相同的结构”