哪个更快? trim() 还是正则表达式?

Which is more faster? trim() or RegEx?

假设我们有一个要检查有效性的字符串。

有效字符串是至少有一个非空白符号且未完全空白的字符串。 (我的意思是连续 5 个空格,没有别的)。

我有两种选择来检查字符串有效性:使用 string.trim() 方法或为此使用自定义正则表达式。

我写了一个非常依赖性能的应用程序,其中每一毫秒都可能是一个很高的成本。

所以,问题本身:哪个更快?正则表达式或 string.trim()

测试:

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