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