1

文字列内の複数の文字を置き換える必要があります。「 123AB」という行があります

そして、 %D1A%D2のBを置き換える必要があります。

どうすればいいですか?.replaceで実行できますか?

4

4 に答える 4

5

String.replaceとてもシンプルです

"ABCDEFA".replace(/A/g, "a") // outputs "aBCDEFa"
"ABCDEFB".replace(/B/g, "b") // outputs "AbCDEFb"

だからあなたは使うことができます

"123AB".replace(/A/g, "%D1").replace(/B/g, "%D2");

ただし、置換する文字列の代わりに置換関数を渡すことで、1回のパスでそれを行うことができます

"123AB".replace(/A|B/g, function(match) {
     var repacements = {A: '%D1', B: '%D2'};
     return replacements[match];
})
于 2012-12-04T17:48:00.410 に答える
2

これは非常に簡単です。最初の引数は置き換えたいものであり、2番目の引数は置き換えたいものです。

var str = "123AB";
str = str.replace( "A", "%D1" ).replace( "B", "%D2");
//str is now "123%D1%D2"
于 2012-12-04T17:47:59.703 に答える
0

これはうまくいくはずです.. str.replace("A",D1)

于 2012-12-04T17:47:28.130 に答える
-1

これはすべての出来事を置き換えます

var rep = function (s, search, replacement) { 
   while(s.indexOf(search) >= 0) 
       s = s.replace(search, replacement); 
   return s;
}
var s = rep("123AB", "A", "%D1");
于 2012-12-04T17:49:13.403 に答える