【发布时间】:2017-01-30 01:42:12
【问题描述】:
String.prototype.replaceAt = function(index, character) {
console.log("replacing " + character + " at " + index);
return this.substr(0, index) + character + this.substr(index+character.length);
}
var reg = new RegExp("[01]{8,}");
var inner = "Non Binary Text 01110100 01100101 01110011 01110100 non binary text.";
inner = inner.replace(" ", "");
for(var iii = 0; iii < 5; iii++){
var pos = inner.search(reg);
for (var i=pos; i < inner.length; i++) {
if(inner.charAt(i) == "1" || inner.charAt(i) == "0") continue;
else if(inner.charAt(i) == " "){
inner = inner.replaceAt(i, "");
}
else{
break;
}
}}
inner = inner.replace(/[01]{8}/g, function(v) {
return String.fromCharCode( parseInt(v,2) );
});
//alert(inner);
console.log(inner);
这是我的小提琴http://jsfiddle.net/qjpgaz5h/ 的链接我遇到的问题是我想删除二进制块之间的空格,而不是非二进制之间的空格,但无论出于何种原因,替换字符都不起作用,我可以'不知道为什么,如果我用非空格以外的任何东西替换空格,它就可以正常工作。
我想要的是删除空格以便转
非二进制文本 01110100 01100101 01110011 01110100 非二进制文本。
到
非二进制文本 01110100011001010111001101110100 非二进制文本。
【问题讨论】:
-
您想删除每 8 位之间的空格吗?
-
请具体描述你想做什么。
-
显示预期结果会有所帮助
标签: javascript substr charat