1

给出以下字符串:

http://foobar.com/trusted/123/views/AnalyticsInc

..其中 123 将是 0 到 9999999 之间的任何数字,我需要能够用不同的值动态替换所述值

我认为解决此问题的最佳方法是使用某种正则表达式模式执行 string.replace,因为我们可以依靠“/trusted/”和“/views/”将始终围绕需要的值这一事实换掉了。

var foo='http://foobar.com/trusted/123/views/AnalyticsInc';
var newvalue=654321;
magic(); //magic happens here
console.log(foo); //returns http://foobar.com/trusted/654321/views/...etc

但是我的正则表达式功夫太弱了,我无法击败一只小猫。有人可以帮帮我吗?或者如果有更好的方法,我很想学习它。谢谢!

4

1 回答 1

2

它将替换foo字符串中从 0 到 9999999 的第一次出现的数字:

foo = foo.replace(/\d{1,7}/, newvalue);

演示:http: //jsfiddle.net/D4teZ/

于 2012-06-03T23:49:07.220 回答