我有一个链接"http://client.local/#/wiki/revision/new/1"
,我想切掉它的所有内容,只留下id
(示例中为"1"
)。现在我知道可以使用JavaScript的slice()
函数完成,但无论id包含多少个字母,它都必须从最终切片直到它到达/
符号。
我该怎么做?
答案 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(/.*\//,'');
将返回最后一个'/'之后的所有内容。