为啥我的替换没有按预期工作[重复]

Posted

技术标签:

【中文标题】为啥我的替换没有按预期工作[重复]【英文标题】:Why my Replace isn't working as expected [duplicate]为什么我的替换没有按预期工作[重复] 【发布时间】:2012-09-25 06:01:11 【问题描述】:

可能重复:Fastest method to replace all instances of a character in a string

我有这个

<p id="demo">/,\,:,*,?,",<,>,|</p>
<input type="button" onclick="myFunction()" value="Replace"/>

function myFunction() 
    var str = document.getElementById("demo").innerhtml;
    var n = str.replace(",", ", ");
    document.getElementById("demo").innerHTML = n;

我想要的是用这个"/, \, :, *, ?, ", &lt;, &gt;, |" 替换这个"/,\,:,*,?,",&lt;,&gt;,|",但我得到的是这个"/, \,:,*,?,",&lt;,&gt;,|"

我做错了什么??

【问题讨论】:

你在这里找到答案:***.com/questions/6064956/… 或者这里:***.com/questions/2116558/… -- 很明显,关于同一问题的许多其他主题是重复的。 【参考方案1】:

您必须使用正则表达式替换字符串 globally:

var n = str.replace(/,/g, ', ');

【讨论】:

【参考方案2】:

替换此行 var n = str.replace(",", ", ");

var n = str.replace(/,/g, ", ");

默认它只会替换第一次出现的

【讨论】:

【参考方案3】:

javascript 中的替换仅替换第一次出现。

您需要使用正则表达式或循环。

看看这个:Javascript multiple replace

【讨论】:

以上是关于为啥我的替换没有按预期工作[重复]的主要内容,如果未能解决你的问题,请参考以下文章

遍历两个列表的列表理解没有按预期工作[重复]

为啥这个正则表达式模式不能按预期工作?

为啥字符串相等在此 Python 代码中不能按预期工作? [复制]

引导网格未按预期工作[重复]

为啥我的函数没有输出预期的内容[重复]

Jquery .load 没有按预期工作[重复]