如何替换字符串中的所有字符?

时间:2011-11-29 20:27:53

标签: javascript string replace

我有一个由参数传递的字符串,我必须在另一个字符串中替换所有出现的字符串,例如:

function r(text, oldChar, newChar)
{
    return text.replace(oldChar, newChar); // , "g")
}

传递的字符可以是任何字符,包括^|$[],{ {1}},( ...

是否有方法可以使用)替换字符串^中的所有I ^like^ potatoes

3 个答案:

答案 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);