split(“/”)从第二个到结尾的URL

时间:2014-05-19 04:02:26

标签: javascript jquery

网址看起来像

www.my.com/store/all-books/nove/book-name/

如何从/ all-books / nove / book-name /到最后获取网址?

我使用类似

的东西
like var v1 = split("/")[3];
like var v2 = split("/")[4];
like var v3 = split("/")[5];

然后合并

v1 + v2 +v3;

看起来很长而且不太好。

有没有简单的方法可以实现?感谢

4 个答案:

答案 0 :(得分:3)

你可以用这个:

var str = "www.my.com/store/all-books/nove/book-name/";
var res = str.replace(/(?:.*?\/){2}/, '');
console.log(res);

你可以在我提到的{} 2中提到数字,因为我希望在2斜杠之后的所有内容

如果你想要斜杠,那么只需在代码的第二行放置'/'而不是'',它就会用斜杠替换匹配,从而得到结果/在一开始的时候。 像这样:

var res = str.replace(/(?:.*?\/){2}/, '/');

答案 1 :(得分:0)

这是javascript示例: var url="http://example.com/page/example" 现在你可以使用下面给出的替换方法: res = url.replace(/^(http:\/\/)?(.*)\.([a-z]+)/i, ''); res=/page/example 现在您可以使用split()功能进行拆分 array = res.split("/") array[0]=page array[1]=example 它还取代了http,https和子域。

希望有所帮助。

答案 2 :(得分:0)

快速,肮脏&正则表达式免费:

var url = "www.my.com/store/all-books/nove/book-name/"
var arrParts =url.split("/"); 
arrParts.splice(0,2); //Remove the two first parts;
var final = arrParts.join(" "); //Replace the space if needed with another separator
console.log(final);

Fidle

答案 3 :(得分:0)

另一种方法是使用数组方法移位,如下所示。

var url = "www.my.com/store/all-books/nove/book-name/",
    urlParts = url.split('/'),
    newUrl;
urlParts.shift();
urlParts.shift();
urlParts.unshift( '' );
newUrl = urlParts.join('/');

.split('/')使用'/'作为分隔符将网址转换为数组

.shift()使用了两次来丢弃数组的前两个元素

.unshift( '' )添加一个空字符串作为数组的第一个元素

.join('/')使用'/'作为分隔符

组合剩余的元素

JS FIDDLE DEMO