Šim*_*das 1078
这个?
str = str.replace(/\s/g, '');
Run Code Online (Sandbox Code Playgroud)
例
var str = '/var/www/site/Brand new document.docx';
document.write( str.replace(/\s/g, '') );
Run Code Online (Sandbox Code Playgroud)
更新:根据这个问题,这个:
str = str.replace(/\s+/g, '');
Run Code Online (Sandbox Code Playgroud)
是一个更好的解决方案 它产生相同的结果,但它更快.
正则表达式
\s
是"whitespace"的正则表达式,g
是"全局"标志,意味着匹配ALL \s
(空格).
+
可以在这里找到一个很好的解释.
作为旁注,您可以将单引号之间的内容替换为您想要的任何内容,这样您就可以用任何其他字符串替换空格.
rsp*_*lak 60
var a = b = " /var/www/site/Brand new document.docx ";
console.log( a.split(' ').join('') );
console.log( b.replace( /\s/g, '') );
Run Code Online (Sandbox Code Playgroud)
两种方法!
小智 23
您还可以使用JS最新的字符串方法之一:replaceAll
'/var/www/site/Brand new document.docx'.replaceAll(' ', '');
Run Code Online (Sandbox Code Playgroud)
Min*_*tel 21
关注@rsplak回答:实际上,使用split/join方式比使用regexp更快.查看性能测试用例
所以
var result = text.split(' ').join('')
运作速度比
var result = text.replace(/\s+/g, '')
在小文本上,这是不相关的,但对于时间很重要的情况,例如在文本分析器中,特别是在与用户交互时,这很重要.
另一方面,\s+
处理更多种类的空间字符.在使用\n
和\t
,它也匹配\u00a0
字符,这是
在使用文本时输入的内容textDomNode.nodeValue
.
所以我认为这里的结论可以如下:如果你只需要替换空格 ' '
,使用split/join.如果符号类可以有不同的符号 - 使用replace(/\s+/g, '')
Kam*_*ski 18
最短和最快:str.replace(/ /g, '');
基准测试:
这是我的结果-(2018.07.13)Chrome 67.0.3396(64位),Safari 11.0.3(13604.5.6),Firefox 59.0.2(64位)上的MacOs High Sierra 10.13.3):
短字符串类似于OP问题中的示例
所有浏览器上最快的解决方案是/ /g
(regexp1a)-Chrome 17.7M(操作/秒),Safari 10.1M,Firefox 8.8M。所有浏览器中最慢的是split-join
解决方案。更改为
\s
或添加+
或i
向正则表达式减慢处理速度。
对于大约300万个字符的字符串,结果为:
您可以在计算机上运行它:https : //jsperf.com/remove-string-spaces/1
MD *_*YON 18
简单的方法
someString.replace(/ /g, '');
// or
someString.replace(/\s/gm, '');
Run Code Online (Sandbox Code Playgroud)
如果没有 regexp,它只适用于一次。
input = input.replace(' ', '');
Run Code Online (Sandbox Code Playgroud)
这更快更简单!在某些情况下可以帮助你们中的一些人。
var input = '/var/www/site/Brand new document.docx';
//remove space
input = input.replace(/\s/g, '');
//make string lower
input = input.toLowerCase();
alert(input);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
687126 次 |
最近记录: |