我有一個是通過參數傳遞一個字符串,我更換的這一切出現在另一個字符串,例如:如何替換字符串中的所有字符?
function r(text, oldChar, newChar)
{
return text.replace(oldChar, newChar); // , "g")
}
通過可任何字符的字符,包括^
,|
,$
, [
,]
,(
,)
...
是否有更換,例如一個方法,所有^
從字符串I ^like^ potatoes
與$
?
我有一個是通過參數傳遞一個字符串,我更換的這一切出現在另一個字符串,例如:如何替換字符串中的所有字符?
function r(text, oldChar, newChar)
{
return text.replace(oldChar, newChar); // , "g")
}
通過可任何字符的字符,包括^
,|
,$
, [
,]
,(
,)
...
是否有更換,例如一個方法,所有^
從字符串I ^like^ potatoes
與$
?
function r(t, o, n) {
return t.split(o).join(n);
}
如果你簡單地傳遞「^」給JavaScript替換功能就應該被視爲一個字符串,而不是一個正則表達式。但是,使用這種方法,它只會替換第一個字符。一個簡單的解決方案將是:
function r(text, oldChar, newChar)
{
var replacedText = text;
while(text.indexOf(oldChar) > -1)
{
replacedText = replacedText.replace(oldChar, newChar);
}
return replacedText;
}
你的功能不是已經做到了嗎? –
@TomvanderWoerdt不,JavaScript的'String.prototype.replace'只替換第一次出現的字符串;如果需要全局替換,則需要使用具有'g'全局標誌的正則表達式。 – Phrogz
我糾正:-) –