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 に答える