Quickly Replace Non-Numeric characters In a String

If you have a requirement where in you do not want to prevent users from entering non-numeric characters in a textbox, however want to filter out all the non-numeric characters, then here's how to do so:

First import the namespace System.Text.RegularExpressions;


    // Replace non-numeric characters 

    string str = "12d223*23#22";

    string newStr = Regex.Replace(str, @"[^\d]", "");


    // Displays 122232322


    ' Replace non-numeric characters 

    Dim str As String = "12d223*23#22"

    Dim newStr As String = Regex.Replace(Str, "[^\d]", "")


    ' Displays 122232322

About The Author

Suprotim Agarwal
Suprotim Agarwal, Developer Technologies MVP (Microsoft Most Valuable Professional) is the founder and contributor for DevCurry, DotNetCurry and SQLServerCurry. He is the Chief Editor of a Developer Magazine called DNC Magazine. He has also authored two Books - 51 Recipes using jQuery with ASP.NET Controls. and The Absolutely Awesome jQuery CookBook.

Follow him on twitter @suprotimagarwal.


Greg Stratton said...

This was perfect - thanks for the great (and simple) post!

Anonymous said...

Regex.Replace has a speed problem, will be your slowest line on your code, use with caution.

Anonymous said...

THANKS !!!!!