如何删除字符串中的空格?例如:
输入:
'/var/www/site/Brand new document.docx'
输出:
'/var/www/site/Brandnewdocument.docx'
如何删除字符串中的空格?例如:
输入:
'/var/www/site/Brand new document.docx'
输出:
'/var/www/site/Brandnewdocument.docx'
当前回答
your_string = 'Hello world';
words_array = your_tring.split(' ');
string_without_space = '';
for(i=0; i<words_array.length; i++){
new_text += words_array[i];
}
console.log("The new word:" new_text);
输出:
你好世界
其他回答
如果没有regexp,它只适用于一种情况。
input = input.replace(' ', '');
这是更快的简单! 在某些情况下能帮到你们中的一些人。
以下@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',它就忽略了大小写敏感性。
参考请点击这里。
var str='/var/www/site/全新文档.docx'; document。写入(str.replace(/\ s/g,"); ----------
最短和最快:str.replace(/ /g, ");
基准:
以下是我的结果- (2018.07.13)MacOs High Sierra 10.13.3在Chrome 67.0.3396(64位),Safari 11.0.3 (13604.5.6), Firefox 59.0.2(64位)):
短的字符串
短字符串类似于OP问题中的例子
在所有浏览器上最快的解决方案是/ /g (regexp1a) - Chrome 17.7M(操作/秒),Safari 10.1M, Firefox 8.8M。对于所有浏览器来说,最慢的是拆分连接解决方案。更改\s或向regexp添加+或i会降低处理速度。
长字符串
对于大约300万个字符的字符串,结果如下:
regexp1a: Safari 50.14 ops/sec, Firefox 18.57, Chrome 8.95 regexp2b: Safari 38.39, Firefox 19.45, Chrome 9.26 火狐26.41,Safari 23.10, Chrome 7.98,
您可以在您的机器上运行它:https://jsperf.com/remove-string-spaces/1