0

如果我有如下字符串:

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

我想替换560的值,这样做的方法是什么。

在这里最好使用正则表达式或字符串函数吗?如果是这样,那将是什么,因为值可能不同。

IE

值可以是任何东西:

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
4

3 回答 3

3

你可以这样做:

var new_number = 5;

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

这会查找数字,然后是可选的一个斜杠,然后是字符串的结尾。所以你不会匹配像http://example.com/some/other/1234/numbers.

于 2013-06-25T20:38:31.427 回答
1

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

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

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

于 2013-06-25T20:09:21.983 回答
0
var regex = new RegExp('\b'+value+'\b');
newurl = url.replace($regExp, newvalue);
于 2013-06-25T20:09:36.450 回答