如何删除字符串中的空格?例如:

输入:

'/var/www/site/Brand new document.docx'

输出:

'/var/www/site/Brandnewdocument.docx'

当前回答

  var output = '/var/www/site/Brand new document.docx'.replace(/ /g, ""); 
    or
  var output = '/var/www/site/Brand new document.docx'.replace(/ /gi,"");

注意:虽然你使用'g'或'gi'来删除空格,但它们的行为是一样的。

如果我们在replace函数中使用'g',它将检查完全匹配。但如果我们使用'gi',它就忽略了大小写敏感性。

参考请点击这里。

其他回答

你还可以使用JS中最新的字符串方法之一:replaceAll

'/var/www/site/Brand new document.docx'.replaceAll(' ', '');

var str='/var/www/site/全新文档.docx'; document。写入(str.replace(/\ s/g,"); ----------

以下@rsplak的回答:实际上,使用分割/连接的方式比使用regexp更快。请参见性能测试用例

So

Var result = text。(' ') . join ()

运行速度比

var result = text.replace(/\s+/g, '')

对于小文本,这是不相关的,但对于时间很重要的情况,例如在文本分析器中,特别是在与用户交互时,这是重要的。


另一方面,\s+可以处理更广泛的空格字符。在\n和\t中,它也匹配\u00a0字符,这就是 当使用textDomNode.nodeValue获取文本时,会被返回。

所以我认为这里的结论可以如下:如果你只需要替换空格' ',使用split/join。如果可以有不同符号的符号类-使用replace(/\s+/g, ")

  var output = '/var/www/site/Brand new document.docx'.replace(/ /g, ""); 
    or
  var output = '/var/www/site/Brand new document.docx'.replace(/ /gi,"");

注意:虽然你使用'g'或'gi'来删除空格,但它们的行为是一样的。

如果我们在replace函数中使用'g',它将检查完全匹配。但如果我们使用'gi',它就忽略了大小写敏感性。

参考请点击这里。

这个吗?

str = str.replace(/\s/g, '');

例子

var str = '/var/www/site/Brand new document.docx'; document.write( str.replace(/\s/g, '') );


更新:基于这个问题,如下:

str = str.replace(/\s+/g, '');

是更好的解决方案。它产生相同的结果,但速度更快。

正则表达式

\s是“空白”的正则表达式,g是“全局”标志,意思是匹配所有(空白)。

关于+的一个很好的解释可以在这里找到。

作为旁注,您可以将单引号之间的内容替换为您想要的任何内容,因此您可以将空白替换为任何其他字符串。