我有一个由参数传递的字符串,我必须在另一个字符串中替换所有出现的字符串,例如:
function r(text, oldChar, newChar)
{
return text.replace(oldChar, newChar); // , "g")
}
传递的字符可以是任何字符,包括^
,|
,$
,[
,]
,{ {1}},(
...
是否有方法可以使用)
替换字符串^
中的所有I ^like^ potatoes
?
答案 0 :(得分:9)
function r(t, o, n) {
return t.split(o).join(n);
}
答案 1 :(得分:1)
如果您只是将'^'传递给JavaScript替换函数,则应将其视为字符串而不是正则表达式。但是,使用此方法,它只会替换第一个字符。一个简单的解决方案是:
function r(text, oldChar, newChar)
{
var replacedText = text;
while(text.indexOf(oldChar) > -1)
{
replacedText = replacedText.replace(oldChar, newChar);
}
return replacedText;
}
答案 2 :(得分:0)
使用RegExp对象而不是简单的字符串:
text.replace(new RegExp(oldChar, 'g'), newChar);