将多余的空格替换为一个空格的最快方法是什么?
例如
来自
foo bar
foo bar
最佳答案
最快的方法?遍历字符串并在 StringBuilder
中逐个字符地构建第二个副本,每组空格只复制一个空格。
更容易输入的 Replace
变体会产生大量额外的字符串(或者浪费时间构建正则表达式 DFA)。
编辑比较结果:
使用 http://ideone.com/NV6EzU ,n=50(不得不在 ideone 上减少它,因为它花了很长时间,他们不得不终止我的进程),我得到:
Regex: 7771ms.
Stringbuilder: 894ms.
这确实符合预期,Regex
对于这种简单的事情来说效率低得可怕。
关于c# 去除多余空格的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6442421/