Home
Map
Regex.Replace, Merge Multiple SpacesRemove multiple spaces in strings with Regex.Replace. Handle other whitespace like newlines.
C#
This page was last reviewed on Jun 1, 2022.
Regex.Replace, spaces. Regex.Replace can act upon spaces. It can merge multiple spaces in a string to one space. We use a pattern to change multiple spaces to single spaces.
Shows a regex
Metacharacters used. The characters "\s+" come in handy. This means "one or more whitespace characters—so we can replace 1 or more whitespace with just 1.
Regex.Replace
Regex.Match
String Replace
This program includes the System.Text.RegularExpressions namespace, which gives us easy access to Regex.Replace. In CollapseSpaces, we use the pattern "\s+" to indicate more than one whitespace.
Detail This will match newlines, carriage returns, spaces and tabs. We then replace this pattern with a single space.
Result You can see that the output values only have one space in between the words.
Note Sometimes, after processing text with other regular expressions and methods, multiple spaces will appear.
Tip CollapseSpaces() can solve that problem but results in even more complexity in the program.
Shows a regex
using System; using System.Text.RegularExpressions; class Program { static string CollapseSpaces(string value) { return Regex.Replace(value, @"\s+", " "); } static void Main() { string value = "Dot Net Perls"; Console.WriteLine(CollapseSpaces(value)); value = "Dot Net\r\nPerls"; Console.WriteLine(CollapseSpaces(value)); } }
Dot Net Perls Dot Net Perls
For performance, it would be better to replace it with a character-based implementation. It is possible to use a character array and then selectively write in characters, omitting unwanted ones.
char Array
Then You can use the string constructor to convert the character array back to a string.
String Constructor
Summary. We saw a whitespace-processing method that uses the Regex.Replace method. This method can process strings that are slightly invalid. It works well but increases overall complexity.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Jun 1, 2022 (image).
Home
Changes
© 2007-2024 Sam Allen.