-2

大きな文字列の部分文字列を特定の規則で置き換えることができる関数が必要です。

たとえば、pageX文字列のすべての桁を 10 ずつ増やしたいとします。

function replace(str, increment){}

行うreplace("pageX : 100, pageY: 200,......pageX : 120...", 10)

取得します"pageX : 110, pageY: 200,......pageX : 130..."

string.replace(/pageX :/g,someStr)likeができることは知っていますreplaceAllが、ルールを適用することはできません。どうすればそれを手に入れることができますか?

4

2 に答える 2

1

replace関数コールバックを使用するのはどうですか:

var string = "pageX : 100, pageY: 200,......pageX : 120...";
string = string.replace(/(\d+)/g, function(match, contents) {
    return (+contents + 10);
});
console.log(string);

デモ: http://jsfiddle.net/ytptN/

于 2012-05-11T09:38:37.980 に答える
0

Regexp\d+パターンを使用してすべての数値を照合String.replaceし、関数呼び出しで置換を生成する機能を使用します。そこに一致する数値を乗算 (またはその他の方法で) 変更し、それらを元に戻します。

于 2012-05-11T09:38:25.737 に答える