【问题标题】:Replacing only certain spaces in javascript with non spaces仅用非空格替换javascript中的某些空格
【发布时间】: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


【解决方案1】:

试试这个/([01]{8})\s+([01]{8})/g 喜欢:

inner = inner.replace(/([01]{8})\s+(?=[01]{8})/g, "$1");

这将匹配由 8 位块包围的多个空格 \s+。我们将block-spaces-(?=block) 替换为block($1) 其中$1 表示第一个组(空格之间的第一件事)。第二组 ((?[01]{8})) 是一个前瞻组,它不包含在匹配中。

示例:

var inner = "Non Binary Text 01110100 01100101 01110011 01110100 non binary text.";

console.log("Before: '" + inner + "'");

inner = inner.replace(/([01]{8})\s+(?=[01]{8})/g, "$1");

console.log("After: '" + inner + "'");

【讨论】:

    【解决方案2】:

    您可以使用下面的正则表达式替换二进制数字之间的空格,

    ("Non Binary Text 01110100 01100101 01110011 01110100 non binary text.").replace(/([01]+)\s(\d)/g,"$1$2")
    

    这个正则表达式找到二进制数字字符串,然后用空格替换它。

    【讨论】:

      猜你喜欢
      • 2015-01-05
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      • 2019-12-04
      • 2015-08-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多