我有这个网址:
http://31839.cateno.vn/Ifor-williams-tilhengere/Ifor-williams-tilhengere/Nullam-vulputate-velit-sed-bibendum-euismod.aspx
我需要它:
http://31839.cateno.vn/Ifor-williams-tilhengere/Nullam-vulputate-velit-sed-bibendum-euismod.aspx
如何通过jquery。
答案 0 :(得分:5)
您没有说这是否是一个通用问题以及您正在寻找的模式是什么。如果您要做的是删除路径第一段的重复项,那么您可以使用常规javascript执行此操作:
var url = "http://31839.cateno.vn/Ifor-williams-tilhengere/Ifor-williams-tilhengere/Nullam-vulputate-velit-sed-bibendum-euismod.aspx";
var split = url.split("/");
if (split[3] == split[4]) {
split.splice(3, 1)
}
url = split.join("/");
这里的工作示例:http://jsfiddle.net/jfriend00/5dArW/
如果您尝试删除与任何其他路径部分相同的路径部分,则可以使用此部分:
var url = "http://31839.cateno.vn/Ifor-williams-tilhengere/Ifor-williams-tilhengere/Nullam-vulputate-velit-sed-bibendum-euismod.aspx";
function removeDups(array, start) {
var index = {}, val;
start = start || 0;
for (var i = start; i < array.length; i++) {
val = array[i];
if (val in index) {
array.splice(i, 1);
--i;
} else {
index[val] = true;
}
}
}
var split = url.split("/");
removeDups(split, 2);
url = split.join("/");
这里的工作示例:http://jsfiddle.net/jfriend00/QchDZ/
如果你要做的就是删除这个确切字符串"Ifor-williams-tilhengere"
的多个路径段(你的评论似乎现在指出了哪一个),那么你可以这样做:
function removeDupSegment(url, dupToLookFor) {
var split = url.split("/");
var dupCnt = 0;
for (var i = 2; i < split.length; i++) {
if (split[i] == dupToLookFor) {
++dupCnt;
if (dupCnt > 1) {
split.splice(i, 1);
--i;
}
}
}
return(split.join("/"));
}
var url = "http://31839.cateno.vn/Ifor-williams-tilhengere/Ifor-williams-tilhengere/Nullam-vulputate-velit-sed-bibendum-euismod.aspx";
url = removeDupSegment(url, "Ifor-williams-tilhengere");
答案 1 :(得分:4)
我发现以下一个衬垫为我工作:
var url = 'http://31839.cateno.vn/Ifor-williams-tilhengere/Ifor-williams-tilhengere/Nullam-vulputate-velit-sed-bibendum-euismod.aspx';
var result = jQuery.unique(url.split('/')).reverse().join('/');