哪个更快?修剪()或正则表达式?
Posted
技术标签:
【中文标题】哪个更快?修剪()或正则表达式?【英文标题】:Which is more faster? trim() or RegEx? 【发布时间】:2021-12-29 12:39:20 【问题描述】:假设我们有一个要检查有效性的字符串。
有效字符串是一个至少有一个非空白符号并且没有完全空白的字符串。 (我的意思是连续 5 个空格,仅此而已)。
我有两种选择来检查字符串的有效性:使用 string.trim() 方法或为此使用自定义正则表达式。
我编写了一个非常依赖性能的应用程序,其中每一毫秒都可能是高成本。
所以,问题本身:哪个更快?正则表达式或 string.trim()
【问题讨论】:
您是否在单击按钮时执行了一百万个.trim()
操作?如果没有,谁在乎?
也许从How do you performance test javascript code?开始...
If only there was a way to test this
【参考方案1】:
测试:
var string = ' fsajdf asdfjosa fjoiawejf oawjfoei jaosdjfsdjfo sfjos 2324234 sdf safjao j o sdlfks dflks l '
string.replace(/^\s+|\s+$|\s+(?=\s)/g, '')
string.trim()
结果:
Function | Result |
---|---|
regex | regex x 1,458,388 ops/sec ±2.11% (62 runs sampled) |
trim | trim x 7,530,342 ops/sec ±1.22% (62 runs sampled) |
结论:
trim
更快
来源:
https://www.measurethat.net/Benchmarks/Show/4767/0/regex-removing-whitespace-vs-trim
【讨论】:
以上是关于哪个更快?修剪()或正则表达式?的主要内容,如果未能解决你的问题,请参考以下文章