假设我有一个看起来像这样的网址:
http://www.mywebsite.com/param1:set1/param2:set2/param3:set3/
我已经在我的javascript中使它变得可变但现在我想将“param2:set2”改为“param2:set5”或者其他什么。如何抓住字符串的那一部分并进行更改?
需要注意的一点是,字符串中的“param2 ...”可以改变,“:”之后的字符数也会改变。我知道我可以使用substring从前面获取字符串的一部分,但我不知道如何从末尾或中间的任何地方抓取它。
答案 0 :(得分:6)
这个怎么样?
>>> var url = 'http://www.mywebsite.com/param1:set1/param2:set2/param3:set3/';
>>> url.replace(/param2:[^/]+/i, 'param2:set5');
"http://www.mywebsite.com/param1:set1/param2:set5/param3:set3/"
答案 1 :(得分:4)
使用正则表达式;)
url.replace(/param2:([\d\w])+/, 'param2:new_string')
答案 2 :(得分:2)
var key = "param2";
var newKey = "paramX";
var newValue = "valueX";
var oldURL = "http://www.mywebsite.com/param1:set1/param2:set2/param3:set3/";
var newURL = oldURL.replace( new RegExp( key + ":[^/]+" ), newKey + ":" + newValue);
答案 3 :(得分:0)
您可以将正则表达式传递给javascript中的match()和replace()函数。