-1

例えば:

example.com/fun/browse/apples/bananas

example.com/browse/gerbals/cooties

URLのどこにあるかに関係なく、キーワード「参照」を見つけて、次のURL部分を削除するにはどうすればよいですか。上記の場合、「りんご」と「gerbals」になります。

「/」で分割してindexOfブラウズを取得してから、次のアイテムを削除しようとしましたが、新しいURLに二重の「//」が作成されるため、すべてを結合できないようです。

どんな助けでも大歓迎です。

Javascript と jQuery の両方で問題ありません。

注: URL の他の部分は削除したくありません。すべてを守りたい。閲覧直後のURLの部分だけを削除したい。

4

5 に答える 5

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"
于 2013-11-01T18:50:18.423 に答える
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"

デモ: http://jsfiddle.net/wared/VRJtL/ .

于 2013-11-01T19:02:24.983 に答える
0

キーワードで URL を分割...

例:

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.
于 2013-11-01T18:49:49.040 に答える
0

「楽しい」部分を取り除こうとしていないのであれば、それは本当に簡単です:

var url = 'example.com/fun/browse/apples/bananas';
var result = url.replace(/browse\/[a-zA-Z\/]+/, 'browse/gerbals/cooties');
于 2013-11-01T19:02:06.683 に答える
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;
}
于 2013-11-01T19:18:13.660 に答える