HomeSearch

C# Regex.Replace, Remove Numbers From String

This C# example program removes numbers from strings with Regex.
Regex.Replace, numbers. Regex can match numeric characters. This helps with certain requirements. Some programs need to remove digit character to clean up input data. The "\d" metacharacter matches digit characters.

And: Conversely the "\D" metacharacter matches non-digit characters. Uppercase means "not."

Regex.Replace
First, the requirement we have here is that the characters with the exact values 0 through 9 must be removed from the string. They are not replaced with other characters but entirely removed.

So: The string "6cylinder" will become the string "cylinder". The method works correctly on strings that have digits in any part.

RemoveDigits: RemoveDigits is used to remove the numeric characters from the input string.

Tip: The "\d" regex pattern string specifies a single digit character (0 through 9).

And: This code will not match negative numbers of numbers with decimal places. The @ character designates a verbatim string literal.

C# program that removes numbers using System; using System.Text.RegularExpressions; class Program { /// <summary> /// Remove digits from string. /// </summary> public static string RemoveDigits(string key) { return Regex.Replace(key, @"\d", ""); } static void Main() { string input1 = "Dot123Net456Perls"; string input2 = "101Dalmatations"; string input3 = "4 Score"; string value1 = RemoveDigits(input1); string value2 = RemoveDigits(input2); string value3 = RemoveDigits(input3); Console.WriteLine(value1); Console.WriteLine(value2); Console.WriteLine(value3); } } Output DotNetPerls Dalmatations Score
Input and output. The program's result is that the three strings have their numbers removed. Internally, RemoveDigits receives a reference to the input strings, which would be interned in the runtime.

Then: The Regex allocates new string data on the managed heap and returns a reference to that object data.

Performance. The performance of this method is far from ideal. For a sensitive path in the control flow of your program, you would want to use a char array and dynamically build up the output string.

Finally: You could return that character array as a string using the new string constructor.

String Constructor
Discussion. There are many possible requirements when dealing with numbers embedded in strings. Several useful methods are available in the .NET Framework, such as char.IsDigit and int.TryParse.char.IsDigitParse
Summary. You can remove number characters in strings using the C# language. This requirement is extremely common and the code here was taken from a release program developed by me. We proved the method's correctness on simple input.

Finally: We explored performance issues and other tasks related to numbers in strings.

Regex
© 2007-2019 Sam Allen. Every person is special and unique. Send bug reports to info@dotnetperls.com.
Home
Dot Net Perls