0

我最初的想法是从使用 JSON 接收的 URL 中获取某个数字

http://fh13.fhcdn.com/static/img/nations/14.png

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

4

7 回答 7

1

要获取所有号码:

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():

parseInt( url.match( /\d+\D*$/g ) );
于 2013-03-12T04:44:50.863 回答
1

你可以这样做:

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
于 2013-03-12T04:48:17.987 回答
1

是的,分裂是要走的路...

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('.'));
于 2013-03-12T04:48:28.683 回答
1
var url = "http://fh13.fhcdn.com/static/img/nations/14.png";

var index = url.lastIndexOf("/");
var dotIndex = url.indexOf(".", index);

console.log(url.substring(index+1,dotIndex));  // Prints 14
于 2013-03-12T04:48:36.290 回答
1

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

var url = "http://fh13.fhcdn.com/static/img/nations/14.png";
var n = ((url.split(".")[2]).split("/"))[4]; //return 14
于 2013-03-12T04:48:40.300 回答
0

您可以使用split(). 它的第一个参数可以是字符串或正则表达式。因此,如果您想根据多个分隔符拆分字符串,您只需形成字符的快速正则表达式。

于 2013-03-12T04:45:27.487 回答
0

与 相比, String.split更等同于preg_split(或已弃用splitexplode,因为它也采用正则表达式并且其使用方法不同,但实际上可以以相同的方式使用。

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

您还可以将.lastIndexOf('.')用作 的第二个参数substring

于 2013-03-12T04:48:49.263 回答