去除字符串首尾空格方法交流
发布于 13 年前 作者 leolovenodejs 12064 次预览 最后一次回复是 13 年前 来自
去除字符串首尾空格
去除字符串首尾空格的方法有很多,这个也很快:
alert(abc.replace(/^\s+/,'').split('').reverse().join('').replace(/^\s+/,'').split('').reverse().join(''));
测试字符串abc长度为70064,其中头空格953、有效字符60375、尾空格8736。
sogou3.0.0.3411: 172m
firefox3.6.28: 22m
opera11.64: 17m
chrome5: 5m
ie6: 172m
safari4: 10m15 回复
为什么不这样做?
这样不是更简洁和直观吗?
这样的话在处理较长的字符串时就变得很慢。
@leolovenodejs 哦,,知道了,,学习了。
我都一直用
" string ".trim();, 自带的方法速度怎么样的?这里有一篇比较各种 trim 速度的文章,应该很深入了 http://blog.stevenlevithan.com/archives/faster-trim-javascript
’ abc '.trim() 足已。
@leolovenodejs 扼,你的这个实现太慢了吧?@ljse 的实现会比楼主的慢?
根据这篇文章,加上楼主的方法和原生的trim(),对比测试了一下结果: 原生的trim()是最快的,然后楼主的方法肯定是最不好的。
测试脚本: http://fengmk2.github.com/blog/2012/06/trim.js 测试文本数据: http://fengmk2.github.com/blog/2012/06/text.txt
测试结果:
@suqian 原生的最大问题就是 IE6-8 都不支持,我平时用 jQuery 的,$.trim()
@suqian Sorry 忘了这里在讨论 Node ……
@XiongLiding 原生的不行,可以选trim10, trim11, trim12
Sorry 忘了这里在讨论 Node ……
我是在浏览器里测的。
原生trim()方法确实很快。
@suqian 确实都比我的快,这一下我学到了好多方法了~
看到标题首先想到的是 trim() 呵呵