Navid Rahmani Navid Rahmani - 8 months ago 53
C# Question

c# Fastest way to remove extra white spaces

What is the fastest way to replace extra white spaces to one white space?



foo bar


foo bar


The fastest way? Iterate over the string and build a second copy in a StringBuilder character by character, only copying one space for each group of spaces.

The easier to type Replace variants will create a bucket load of extra strings (or waste time building the regex DFA).

Edit with comparison results:

Using, with n=50 (had to reduce it on ideone because it took so long they had to kill my process), I get:

Regex: 7771ms.

Stringbuilder: 894ms.

Which is indeed as expected, Regex is horribly inefficient for something this simple.