How do i return integers from a string ?

Posted by kannan.ambadi on Weblogs See other posts from 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: 1713

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  :))



© Weblogs or respective owner

Related posts about .NET

Related posts about .NET 2.0