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: 1797
.NET
|.NET 2.0
|.NET 3.5
|.NET Development
|.NET Framework
|ASP.NET
|Asp.Net 2.0
|ASP.NET 3.5
|c#
|C# 2.0
|Page Performance
|Performance
|property
|Tips
|Visual Studio
|Visual Studio 2005
|visual studio 2008
|web
|Web 2.0
|Web Development
|C# Properties
|code performance
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