質問

I'm new to backreference. I have an array and need to replace it in string.

Here's my try:

var cc = ["book","table"];

var str = "The $1 is on the $2";

var newstr = str.replace(cc, "$2, $1");

console.log(newstr)
役に立ちましたか?

解決

That's... hmm, I'm not sure I can understand the kind of confusion of ideas that would lead you to write such a thing...

Try this:

newstr = str.replace(/\$(\d)+/g,function(_,id) {return cc[id-1];});

他のヒント

Try this:

var cc = ["book","table"];

var str = "The $1 is on the $2";

var newstr = str.replace('$1', cc[0]).replace('$2', cc[1]);

alert(newstr);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top