用javascript替换字符串的一部分?

时间:2009-06-22 20:56:35

标签: javascript string

假设我有一个看起来像这样的网址:

  

http://www.mywebsite.com/param1:set1/param2:set2/param3:set3/

我已经在我的javascript中使它变得可变但现在我想将“param2:set2”改为“param2:set5”或者其他什么。如何抓住字符串的那一部分并进行更改?

需要注意的一点是,字符串中的“param2 ...”可以改变,“:”之后的字符数也会改变。我知道我可以使用substring从前面获取字符串的一部分,但我不知道如何从末尾或中间的任何地方抓取它。

4 个答案:

答案 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()函数。