Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何分割字符串对象,直到它达到/&引用;做记号_Javascript_String_Url - Fatal编程技术网

Javascript 如何分割字符串对象,直到它达到/&引用;做记号

Javascript 如何分割字符串对象,直到它达到/&引用;做记号,javascript,string,url,Javascript,String,Url,我有一个链接”http://client.local/#/wiki/revision/new/1“我想把它的所有部分都切掉,只留下id(“1”,在本例中)。现在我知道可以使用JavaScript的slice()函数来完成,但是它必须从末尾开始切片,直到到达/符号,无论id包含多少个字母 我该怎么做?您可以使用正则表达式: var id = url.match(/[^\/]*$/)[0]; 或拆分: var id = url.split('/').pop(); 使用正则表达式可以实现更好的轻松

我有一个链接
”http://client.local/#/wiki/revision/new/1“
我想把它的所有部分都切掉,只留下
id
“1”
,在本例中)。现在我知道可以使用JavaScript的
slice()
函数来完成,但是它必须从末尾开始切片,直到到达
/
符号,无论id包含多少个字母

我该怎么做?

您可以使用正则表达式:

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
}
您可以使用正则表达式:

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
}

您正在查找的是
split
而不是
slice

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

您正在查找的是
split
而不是
slice

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

var id = url.substring(url.lastIndexOf('/')+1)
另一种变体

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

假定javascript正则表达式在默认情况下是贪婪的,您可以执行以下操作:

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

它将返回最后一个“/”之后的所有内容。

鉴于javascript正则表达式在默认情况下是贪婪的,您可以执行以下操作:

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

它将返回最后一个“/”之后的所有内容。

ID是编号
1
?ID是什么部分/1?在给定的示例中,
ID
1
,是。ID是编号
1
?ID是什么部分/1?在给定的示例中,
ID
1
,是的。您的回答是否表明只有在
ID
为单个字符长时才会保留它?否,split函数在每个“/”处拆分字符串st,id将是最后一个“/”之后的所有内容。您的回答是否表明它仅在单个字符长时才保留
id
?否,split函数在每个“/”处拆分字符串st,id将是最后一个“/”之后的所有内容