I have a string from which I have to remove following char: '\r', '\n', and '\t'.
I have tried three different ways of removing these char and benchmarked them so I can get the fastest solution.

Following are the methods and there execution time when I ran them 1000000 times:

It should be fastest solution if I have 1 or 2 char to remove. But as I put in more char, it starts to take more time

```
str = str.Replace("\r", string.Empty).Replace("\n", string.Empty).Replace("\t", string.Empty);

```

**Execution time = 1695**

For 1 or 2 char, this was slower then String.Replace, but for 3 char it showed better performance.

```
string[] split = str.Split(new char[] { '\t', '\r', '\n' }, StringSplitOptions.None);
str = split.Aggregate<string>((str1, str2) => str1 + str2);

```

**Execution time = 1030**

The slowest of all, even with 1 char. Maybe my regular expression is not the best.

```
str = Regex.Replace(str, "[\r\n\t]", string.Empty, RegexOptions.Compiled);

```

**Execution time = 3500**

These are the three solutions I came up with. Is there any better and faster solution that anyone here know, or any improvements I can do in this code?

**String** that I used for benchmarking:

```
StringBuilder builder = new StringBuilder();
        builder.AppendFormat("{0}\r\n{1}\t\t\t\r\n{2}\t\r\n{3}\r\n{4}\t\t\r\n{5}\r\n{6}\r\n{7}\r\n{8}\r\n{9}",
         "SELECT ",
         "[Extent1].[CustomerID] AS [CustomerID], ",
         "[Extent1].[NameStyle] AS [NameStyle], ",
         "[Extent1].[Title] AS [Title], ",
           "[Extent1].[FirstName] AS [FirstName], ",
           "[Extent1].[MiddleName] AS [MiddleName], ",
           "[Extent1].[LastName] AS [LastName], ",
           "[Extent1].[Suffix] AS [Suffix], ",
           "[Extent1].[CompanyName] AS [CompanyName], ",
           "[Extent1].[SalesPerson] AS [SalesPerson], ");
        string str = builder.ToString();

```