如何切割String对象直到达到“/”标记?

时间:2013-11-15 11:54:02

标签: javascript string url

我有一个链接"http://client.local/#/wiki/revision/new/1",我想切掉它的所有内容,只留下id(示例中为"1")。现在我知道可以使用JavaScript的slice()函数完成,但无论id包含多少个字母,它都必须从最终切片直到它到达/符号。

我该怎么做?

4 个答案:

答案 0 :(得分:3)

您可以使用正则表达式:

var id = url.match(/[^\/]*$/)[0];

或拆分:

var id = url.split('/').pop();

使用正则表达式可以更好地轻松控制。例如,如果您想要失败,如果最后/后面的内容不是数字,请执行

var m = url.match(/\/(\d+)$/)
if (m) {
    var id = m[1];
    ...
} else {
    // bad URL, let's handle the error
}

答案 1 :(得分:1)

另一种变体

var id = url.substring(url.lastIndexOf('/')+1)

答案 2 :(得分:0)

您正在寻找split而不是slice

var id = "http://client.local/#/wiki/revision/new/1234".split('/').pop();

答案 3 :(得分:0)

鉴于默认情况下javascript正则表达式是贪婪的,你可以这样做:

var id = url.replace(/.*\//,'');

将返回最后一个'/'之后的所有内容。