在javascript中删除string中的空字符

如何从nodejs中的string中删除空字节?

MyString\u0000\u0000\u00000 

我试过string.replace('\0', ''); 但似乎并不奏效。 有任何节点包是有利于操纵string?

它可以工作,但是像这样它只能删除一个空字节的实例。 你需要用正则expression式和g修饰符来完成

 var string = 'MyString\u0000\u0000\u0000'; console.log(string.length); // 11 console.log(string.replace('\0', '').length); // 10 console.log(string.replace(/\0/g, '').length); // 8 

在JavaScript中修剪所有null(或任何其他字符只是编辑正则expression式)的权利,你可能想要做这样的事情。

 string.replace(/\0[\s\S]*$/g,''); 

举个例子:

 var a = 'a\0\0test\nnewlinesayswhat!'; console.log(a.replace(/\0[\s\S]*$/g,'')); 

输出“a”。

睡了之后,substr的索引可能会更好,如果你肯定null将在string的某处。

 a.substr(0,a.indexOf('\0')); 

或者一个函数来检查是否不确定。

 function trimNull(a) { var c = a.indexOf('\0'); if (c>-1) { return a.substr(0, c); } return a; }