How do i return integers from a string ?

Posted by kannan.ambadi on ASP.net Weblogs See other posts from ASP.net Weblogs or by kannan.ambadi
Published on Wed, 17 Mar 2010 11:23:00 GMT Indexed on 2010/03/17 11:41 UTC
Read the original article Hit count: 1684

Suppose you are passing a string(for e.g.: “My name has 1 K, 2 A and 3 N”)  which may contain integers, letters or special characters. I want to retrieve only numbers from the input string. We can implement it in many ways such as splitting the string into an array or by using TryParse method. I would like to share another idea, that’s by using Regular expressions. All you have to do is, create an instance of Regular Expression with a specified pattern for integer. Regular expression class defines a method called Split, which splits the specified input string based on the pattern provided during object initialization.  

 

We can write the code as given below:

 

public static int[] SplitIdSeqenceValues(object combinedArgs)

        {

            var _argsSeperator = new Regex(@"\D+", RegexOptions.Compiled);

 

            string[] splitedIntegers = _argsSeperator.Split(combinedArgs.ToString());

 

            var args = new int[splitedIntegers.Length];

 

            for (int i = 0; i < splitedIntegers.Length; i++)

                args[i] = MakeSafe.ToSafeInt32(splitedIntegers[i]);            

 

            return args;

        } 

 

It would be better, if we set to RegexOptions.Compiled so that the regular expression will have performance boost by faster compilation.

 

Happy Programming  :))

 

 

© ASP.net Weblogs or respective owner

Related posts about .NET

Related posts about .NET 2.0