1

我需要替换字符串中的多个字符。我有一条线——“ 123AB

我需要更换%D1A%D2B

我该怎么做呢?可以用.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");

但是,您可以通过传递替换函数而不是要替换的字符串来一次性完成

"123AB".replace(/A|B/g, function(match) {
     var repacements = {A: '%D1', B: '%D2'};
     return replacements[match];
})
于 2012-12-04T17:48:00.410 回答
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 回答