How do i return integers from a string ?

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

 

 

4 Comments

Comments have been disabled for this content.