如何替换字符串中的所有字符?
问题描述:
我有一个是通过参数传递一个字符串,我更换的这一切出现在另一个字符串,例如:如何替换字符串中的所有字符?
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
我纠正:-) –