如何摆脱所有双重逗号

时间:2014-01-29 07:01:14

标签: javascript regex replace

不,这不是重复,因为其他帖子中的所有答案都不同。

有谁知道如何替换字符串中的特定内容?例如,我试图摆脱那些区域的所有逗号。保留单个逗号,但只删除两个

例如:

W,H,O,,W,H,A,T,W,H,E,N,W,H,E,R,E ,, T,H,E,N ,, C,A, ñ,, b,U,T ,,

我想摆脱双逗号出现的所有实例。有点像:

var example = text.replace(/,,/g,' '); /*Space where ' ' is*/

如果你明白我的意思。下一步是:

var text.replace(/,/g,'');

谢谢!

代码:

<html>
<head>
<script>
    function decrypt() {
        var input = document.getElementById("input").value;
        var x = input.split(",");
        var txtDisp="";
        for(var i = 0; i < x.length; i++) {
            if(x[i].type = "text") {
                crack = 94-(x[i]-32)+32;
                toTxt = String.fromCharCode(this, crack);
                txtDisp = txtDisp+","+toTxt;
                prep = txtDisp.replace(/,,/g,"");
            }
        document.getElementById("prompt").innerHTML=prep;   
        }
    }
</script>
</head>
<body>
<textarea rows='4' cols='100' style='resize:none;' id='input'></textarea>
<br>
<input type='button' value='execute' onclick='decrypt()' />
<p id='prompt'>
</p>
</body>
</html>

P.S。这段代码已经发布在我提问的其他地方了。

2 个答案:

答案 0 :(得分:0)

你为什么不这样做:

var text = "61,59,44,47,43,43, ,39,54,37, ,37,47,41,44, ,59,61,48, ,53,48,42,47, ,42,54,57,53,44, ,47,56,42,57,48, ,47,56,56, ,43,61,53,58, ,47,41,44, ,42,39,61,43, ,43,53,48,59,57, ,42,54,57,44,57, ,61,48,58, ,39,47,41,50,58";
example = text.split(",,").join("").split(", ,").join("");

结果是:

"w,h,ow,h,a,t,w,h,e,n,w,h,e,r,et,h,e,nc,a,nb,u,t"

我自己也试图这样做:

example = text.replace(/,,/g,'').replace(/, ,/g,'');

结果是:

"w,h,ow,h,a,t,w,h,e,n,w,h,e,r,et,h,e,nc,a,nb,u,t"

我改变了你的代码:

function decrypt() {
    var val = document.getElementById("input").value;
    var x = val.split(",");
    var txtDisp = "";
    for (var i = 0; i < x.length; i++) {
        if (!isNaN(parseInt(x[i]))) {
            var num = parseInt(x[i]);
            crack = 94 - (num - 32) + 32;
            toTxt = String.fromCharCode(this, crack);
            txtDisp = txtDisp + "," + toTxt;
            prep = txtDisp.replace(/,,/g, "").replace(/, ,/g, "");
        }
        document.getElementById("prompt").innerHTML = prep;
    }
}

它有效。检查此DEMO

答案 1 :(得分:0)

试试这个:

 function decrypt() {
            var input = document.getElementById("input").value;
            var x = input.split(",");
            var txtDisp = "";

            for (var i = 0; i < x.length; i++) {
                if (x[i] !== ' ') {
                    crack = 94 - (x[i] - 32) + 32;
                    toTxt = String.fromCharCode(this, crack);
                    txtDisp += "," + toTxt;
                } else {
                    txtDisp += " ";
                }
            }
               document.getElementById("prompt").innerHTML = txtDisp.replace(/,/g, "");
        }