例如:
example.com/fun/browse/apples/bananas
example.com/browse/gerbals/cooties
如何找到关键字“browse”,无论其在网址中的位置如何,并删除以下网址部分。在上述情况下,这将是“苹果”和“gerbals”
我尝试将其拆分为“/”并获取indexOf浏览,然后删除下一项,但我似乎无法将所有内容连接在一起,因为这会在新网址中创建一个双“//”。
任何帮助都将不胜感激。
Javascript和jQuery都可以。
注意:我不想删除网址的任何其他部分。我想保留一切。我想只在浏览后立即删除网址的部分。
答案 0 :(得分:1)
使用.splice()&删除浏览器重新加入。
var arr = "example.com/fun/browse/apples/bananas".split('/');
var index = arr.indexOf("browse");
arr.splice(index+1,1); //removes apples
var URL = arr.join('/'); //joins back
result: "example.com/fun/browse/bananas"
答案 1 :(得分:1)
你的问题不清楚,但试试吧:
var s = 'example.com/fun/browse/apples/bananas';
s.replace(/(\/browse)\/[^\/]+/, '$1'); // "example.com/fun/browse/bananas"
同时检查这个助手:
function removeAfter(s, keyword) {
return s.replace(
new RegExp('(\/' + keyword + ')\/[^\/]+'), '$1'
);
}
用法:
var s = 'example.com/browse/gerbals/cooties';
removeAfter(s, 'browse'); // "example.com/browse/cooties"
removeAfter(s, 'gerbals'); // "example.com/browse/gerbals"
答案 2 :(得分:0)
在关键字上拆分网址...
示例:
var url = "http://www.foo.com/bar/alpha/beta";
var keyword = "alpha";
var result = url.split(keyword)[0];
//result = "http://www.foo.com/bar/" + keyword;
//adding the keyword is if you need the keyword in your response.
答案 3 :(得分:0)
如果您不想删除“有趣”部分,那很简单:
var url = 'example.com/fun/browse/apples/bananas';
var result = url.replace(/browse\/[a-zA-Z\/]+/, 'browse/gerbals/cooties');
答案 4 :(得分:0)
我会抛出另一种选择,只是为了让它变得有趣。 :)
var url = "http://example.com/fun/browse/apples/bananas";
var targetWord = "browse";
var regexPattern = new RegExp("(^.*" + targetWord + "/?)[^/]*/?(.*$)");
var newURL = "";
var matchedURLparts = regexPattern.exec(url);
if (matchedURLparts) {
newURL = (matchedURLparts.length > 2) ? matchedURLparts[1] + matchedURLparts[2] : matchedURLparts[1];
}
else {
newURL = url;
}