为啥我的替换没有按预期工作[重复]
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;
我想要的是用这个"/, \, :, *, ?, ", <, >, |"
替换这个"/,\,:,*,?,",<,>,|"
,但我得到的是这个"/, \,:,*,?,",<,>,|"
。
我做错了什么??
【问题讨论】:
你在这里找到答案:***.com/questions/6064956/… 或者这里:***.com/questions/2116558/… -- 很明显,关于同一问题的许多其他主题是重复的。 【参考方案1】:您必须使用正则表达式替换字符串 g
lobally:
var n = str.replace(/,/g, ', ');
【讨论】:
【参考方案2】:替换此行
var n = str.replace(",", ", ");
与
var n = str.replace(/,/g, ", ");
默认它只会替换第一次出现的
【讨论】:
【参考方案3】:javascript 中的替换仅替换第一次出现。
您需要使用正则表达式或循环。
看看这个:Javascript multiple replace
【讨论】:
以上是关于为啥我的替换没有按预期工作[重复]的主要内容,如果未能解决你的问题,请参考以下文章