如何删除字符串中的空格?例如:
输入:
'/var/www/site/Brand new document.docx'
输出:
'/var/www/site/Brandnewdocument.docx'
如何删除字符串中的空格?例如:
输入:
'/var/www/site/Brand new document.docx'
输出:
'/var/www/site/Brandnewdocument.docx'
当前回答
从字符串中删除空格最简单的方法是使用replace
let str = '/var/www/site/Brand new document.docx';
let result = str.replace(/\s/g, '');
其他回答
你可以使用regex从字符串中移除空格
let str = '/var/www/site/Brand new document.docx';
let result = 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
简单的方法
someString.replace(/ /g, '');
// or
someString.replace(/\s/gm, '');
这个吗?
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是“全局”标志,意思是匹配所有(空白)。
关于+的一个很好的解释可以在这里找到。
作为旁注,您可以将单引号之间的内容替换为您想要的任何内容,因此您可以将空白替换为任何其他字符串。
var a = b = " /var/www/site/Brand new document.docx "; Console.log (a.split(' ').join(")); Console.log (b.replace(/\s/g, "));
有两种方法!