我有这个网址 http://192.168.22.124:3000/temp/box/c939c38adcf1873299837894214a35eb 我想用其他东西替换我的URL的最后一部分 c939c38adcf1873299837894214a35eb 。 我该怎么做?
答案 0 :(得分:4)
试试这个:
var url = 'http://192.168.22.124:3000/temp/box/c939c38adcf1873299837894214a35eb';
somethingelse = 'newhash';
var newUrl = url.substr(0, url.lastIndexOf('/') + 1) + somethingelse;
注意,使用内置的substr
和lastIndexOf
比使用正则表达式拆分组件部件要快得多并且使用的内存更少。
答案 1 :(得分:2)
您可以按照以下步骤操作:
/
/
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';