c# 去除多余空格的最快方法

标签 c# string replace whitespace removing-whitespace

将多余的空格替换为一个空格的最快方法是什么?
例如

来自

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/

相关文章:

C# MySQLDataReader 在结果中替换

c# - 在另一台机器上运行 c# 应用程序时出现问题

c# - 来自 Windows 窗体的 MVC WebAPI 身份验证

c# - 了解 PRISM 中的模块

python - 在Python字符串中嵌入可执行Python脚本

c++ - 使用 tr1 正则表达式查找字符串是否为 'numeric only'

MySQL REPLACE 在自动递增的行中

c# - SqlTableProfileProvider,自定义ProfileBase类,给properties添加额外的属性

database - ASP.NET MVC。显示数据库中的 html 字符串

java - 替换选择排序