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/ Проблема у меня в том, что я хотел, чтобы удалить пробелы между блоками двоичная, но не между несоблюдением двоичном, но по какой-либо причине замена символа не работает, и я не могу понять, почему, если я заменяю пространство буквально чем-то другим, кроме него, то он отлично работает.Замена только некоторые пробелы в JavaScript с не пробелами
То, что я хотел, чтобы удалить пробелы так, чтобы превратить
Non Binary Text 01110100 01100101 01110011 01110100 не бинарный текст.
в
Non Binary Text 01110100011001010111001101110100 не бинарный текст.
Вы хотите удалить пробелы между каждыми 8 битами? –
Просьба описать, что вы хотите сделать. –
Отображение ожидаемого результата помогло бы – charlietfl