我需要替換字符串中的多個字符。 我有一個線 - 「123AB」替換字符串中的某些字符JavaScript
我需要更換甲在%D1,和乙在%D2。
我該怎麼做?可以用完成,取而代之的是,如果是這樣,怎麼辦?
我需要替換字符串中的多個字符。 我有一個線 - 「123AB」替換字符串中的某些字符JavaScript
我需要更換甲在%D1,和乙在%D2。
我該怎麼做?可以用完成,取而代之的是,如果是這樣,怎麼辦?
這種替換所有occurencies
var rep = function (s, search, replacement) {
while(s.indexOf(search) >= 0)
s = s.replace(search, replacement);
return s;
}
var s = rep("123AB", "A", "%D1");
是的,它的工作原理,但你重複的工作,替換'可以爲你做 –
如果全球替換是必要的,你可以剛剛完成全局替換...'s.replace(/ A/g,「%D1」)' – Esailija
@IlyaKharlamov這是所有可用的最差的答案 –
這應該工作.. str.replace("A",D1)
它很簡單,第一個參數是要替換什麼,第二個參數 是你要替換它的內容:
var str = "123AB";
str = str.replace("A", "%D1").replace("B", "%D2");
//str is now "123%D1%D2"
"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];
})
@downvoter一個解釋會很好 –
@Jaun Mendes,我敢打賭這是嫉妒; D來自Downvoter – ShrekOverflow
是的,這是可以做到與'String.replace'。閱讀API文檔。 https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/replace –
爲什麼%D1和%D2? – nhahtdh
@Esailija謝謝!這行得通! –