Javascript替换字符串中的动态文本

时间:2013-06-25 20:06:24

标签: javascript replace

如果我有一个字符串如下:

http:/mydomain.com/index.php/this/is/an/amazing/url/param/560/

我希望替换560的值,这是做什么的。

这里是否最好使用正则表达式或字符串函数,如果是这样,那么该值会有什么不同。

值可以是任何值:

http:/mydomain.com/index.php/this/is/an/amazing/url/param/120/
http:/mydomain.com/index.php/this/is/an/amazing/url/param/200/

也可能缺少尾随斜杠,即

http:/mydomain.com/index.php/this/is/an/amazing/url/param/560

3 个答案:

答案 0 :(得分:3)

你可以这样做:

var new_number = 5;

url = url.replace(/\d+(\/)?$/, new_number + "$1");

这会查找数字,然后可选择一个斜杠,然后查找字符串的结尾。因此,您不会匹配http://example.com/some/other/1234/numbers等内容。

答案 1 :(得分:1)

在这种情况下,正则表达式可能是最简单的解决方案:

url.replace(/\/\d+\/?$/, '/' + newNumber);

此正则表达式专门查找以斜杠结尾的任何内容,一个或多个数字,然后是可选的斜杠。

答案 2 :(得分:0)

var regex = new RegExp('\b'+value+'\b');
newurl = url.replace($regExp, newvalue);