用空格替换两个相同的字符

时间:2013-06-04 14:41:42

标签: javascript

我正在尝试使用javascript

替换下面的字符串
    function replaceString()
    {
        var str = "ABC**EFG";
        return str.replace(/\*/g, " ");
    }

我收到了ABC EFG的结果,但我希望结果有两个空格。 我也尝试使用php str.replace做同样的事情,但仍然得到相同的结果。

有没有其他方法我可以用空格替换个别星号?

P / S:返回字符串将用作sql查询的一部分


[UPDATE]

我最终返回字符串而没有替换为sql,然后我使用sql replace函数在查询中执行替换。

4 个答案:

答案 0 :(得分:3)

如果要在HTML元素中显示结果字符串,则两个或多个空格将仅显示为一个空格。要解决此问题,请改用 

return str.replace(/\*/g, ' ');

答案 1 :(得分:0)

试试这个

return str.replace(/\*/g, ' ');

答案 2 :(得分:0)

Buddy问题出在HTML编译器上,它有自己特殊的解析规则 因此它将多个空间解析为一个。这只适用于HTML。 这就是为什么要使用GIFT标签

.

<pre> <p id="para"></p> </pre> <script> function replaceString() { var str = "ABC**EFG"; return str.replace(/\*/g," "); } document.getElementById("para").innerHTML=replaceString(); </script> <script> function replaceString() { var str1=String.fromCharCode(32,32); var str = "ABC**EFG"; return str.replace(/\*/g,str1); } alert(replaceString()); </script>

从上面的代码返回函数可以直接在mysql中使用...

答案 3 :(得分:0)

最后找到了最佳解决方案,我使用percent-encoding (URL-encoding)

替换了这些特殊字符

对于我的案例:str.replace(/\*/g, "%20");