如何从URL中删除/替换某些内容?

时间:2018-05-04 06:15:21

标签: javascript

我有这个网址 http://192.168.22.124:3000/temp/box/c939c38adcf1873299837894214a35eb 我想用其他东西替换我的URL的最后一部分 c939c38adcf1873299837894214a35eb 。 我该怎么做?

5 个答案:

答案 0 :(得分:4)

试试这个:

var url = 'http://192.168.22.124:3000/temp/box/c939c38adcf1873299837894214a35eb';
somethingelse = 'newhash';
var newUrl = url.substr(0, url.lastIndexOf('/') + 1) + somethingelse;

注意,使用内置的substrlastIndexOf比使用正则表达式拆分组件部件要快得多并且使用的内存更少。

答案 1 :(得分:2)

您可以按照以下步骤操作:

  1. 使用/
  2. 拆分网址
  3. 替换数组的最后一项
  4. 使用/
  5. 加入结果数组

    var url = 'http://192.168.22.124:3000/temp/box/c939c38adcf1873299837894214a35eb';
    var res = url.split('/');
    res[res.length-1] = 'someValue';
    res = res.join('/');
    console.log(res);

答案 2 :(得分:2)

使用replace我们可以尝试:



var url = "http://192.168.22.124:3000/temp/box/c939c38adcf1873299837894214a35eb";
var replacement = 'blah';
url = url.replace(/(http.*\/).*/, "$1" + replacement);
console.log(url);




我们捕获所有内容,包括最终路径分隔符,然后替换为捕获的片段和新替换。

答案 3 :(得分:1)

完整指南:

// url
var urlAsString = window.location.href;

// split into route parts
var urlAsPathArray = urlAsString.split("/");

// create a new value
var newValue = "routeValue";

// EITHER update the last parameter
urlAsPathArray[urlAsPathArray.length - 1] = newValue;

// OR replace the last parameter
urlAsPathArray.pop();
urlAsPathArray.push(newValue);

// join the array with the slashes
var newUrl = urlAsPathArray.join("/");

// log
console.log(newUrl);

// output
// http://192.168.22.124:3000/temp/box/routeValue

答案 4 :(得分:0)

你可以使用这样的正则表达式:

let newUrl = /^.*\//.exec(origUrl)[0] + 'new_ending';