【问题标题】: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;,|"

我做错了什么??

【问题讨论】:

标签: javascript html


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

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

      看看这个:Javascript multiple replace

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-02-29
        • 1970-01-01
        • 2019-08-28
        • 2014-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多