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

输入:

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

输出:

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

当前回答

var input = '/var/www/site/Brand new document.docx';

//remove space
input = input.replace(/\s/g, '');

//make string lower
input = input.toLowerCase();

alert(input);

点击这里查看工作示例

其他回答

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

So

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

运行速度比

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

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


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

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

正则表达式+ Replace()

虽然regex可能更慢,但在很多情况下,开发人员一次只操作几个字符串,所以考虑速度是无关紧要的。尽管/ /比/\s/快,但是使用'\s'可能更清楚地向其他开发人员解释了正在发生的事情。

let string = '/var/www/site/Brand new document.docx';
let path = string.replace(/\s/g, '');
// path => '/var/www/site/Brandnewdocument.docx'

Split() + Join()

使用Split + Join可以对字符串进行进一步的链式操作。

let string = '/var/www/site/Brand new document.docx';
let path => string.split('').map(char => /(\s|\.)/.test(char) ? '/' : char).join('');
// "/var/www/site/Brand/new/document/docx";

如果没有regexp,它只适用于一种情况。

input = input.replace(' ', '');

这是更快的简单! 在某些情况下能帮到你们中的一些人。

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

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

你可以使用regex从字符串中移除空格

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