【发布时间】:2011-08-29 05:28:03
【问题描述】:
可能重复:
Fastest method to replace all instances of a character in a string
如何替换字符串中的所有匹配项?
如果要替换字符串中的所有换行符 (\n)..
这只会替换第一次出现的换行符
str.replace(/\\n/, '<br />');
我不知道该怎么做?
【问题讨论】:
标签: javascript regex
可能重复:
Fastest method to replace all instances of a character in a string
如何替换字符串中的所有匹配项?
如果要替换字符串中的所有换行符 (\n)..
这只会替换第一次出现的换行符
str.replace(/\\n/, '<br />');
我不知道该怎么做?
【问题讨论】:
标签: javascript regex
使用全局标志。
str.replace(/\n/g, '<br />');
【讨论】:
var text= "|ABC|DEF||XYZ|||"; text = replaceAllSubString(text, '|', '~~'); alert(text); 和函数 defN :@ 987654325@jsbin
|是正则表达式中的特殊字符,所以必须转义:text = text.replace(/\|/g, '~~')
Brighams 的答案使用literal regexp。
使用 Regex 对象的解决方案。
var regex = new RegExp('\n', 'g');
text = text.replace(regex, '<br />');
在这里试试:JSFiddle Working Example
【讨论】:
正如here 解释的那样,您可以使用:
function replaceall(str,replace,with_this)
{
var str_hasil ="";
var temp;
for(var i=0;i<str.length;i++) // not need to be equal. it causes the last change: undefined..
{
if (str[i] == replace)
{
temp = with_this;
}
else
{
temp = str[i];
}
str_hasil += temp;
}
return str_hasil;
}
...然后您可以使用以下命令调用它:
var str = "50.000.000";
alert(replaceall(str,'.',''));
函数会提示“50000000”
【讨论】: