using System.Text.RegularExpressions;
using System.Diagnostics;
public static void Main()
Console.WriteLine("Parsing string '123as456'\n");
Stopwatch sw = new Stopwatch();
Console.WriteLine(string.Format("{0:00} regex split all numbers", string.Join(null,Regex.Split("123as456", "[^\\d]"))));
Console.WriteLine(string.Format(" ﹂ in {0} ticks",sw.ElapsedTicks.ToString("N0")));
Console.WriteLine(string.Format("{0:00} regex replace all numbers", Regex.Replace("123as456", @"\D","")));
Console.WriteLine(string.Format(" ﹂ in {0} ticks",sw.ElapsedTicks.ToString("N0")));
Console.WriteLine(string.Format("{0:00} regex match 1st number", Regex.Match("123as456", @"^\d+").ToString()));
Console.WriteLine(string.Format(" ﹂ in {0} ticks",sw.ElapsedTicks.ToString("N0")));
Console.WriteLine(string.Format("{0:00} regex match last number ", Regex.Match("123as456", @"\d+$").ToString()));
Console.WriteLine(string.Format(" ﹂ in {0} ticks",sw.ElapsedTicks.ToString("N0")));
Console.WriteLine("Parsing string '222star10bucks'\n");
string.Format("{0:00} linq select all numbers where long format",
(from t in "222star10bucks"
Console.WriteLine(string.Format(" ﹂ in {0} ticks",sw.ElapsedTicks.ToString("N0")));
Console.WriteLine(string.Format("{0:00} linq where digits all numbers", new String("222star10bucks".Where(Char.IsDigit).ToArray())));
Console.WriteLine(string.Format(" ﹂ in {0} ticks",sw.ElapsedTicks.ToString("N0")));
Console.WriteLine(string.Format("{0:00} linq takewhile 1st number", new String("222star10bucks".TakeWhile(Char.IsDigit).ToArray())));
Console.WriteLine(string.Format(" ﹂ in {0} ticks",sw.ElapsedTicks.ToString("N0")));
Console.WriteLine(string.Format("{0:00} linq reverse takewhile last number", string.Concat("222star10".ToArray().Reverse().TakeWhile(char.IsNumber).Reverse())));
Console.WriteLine(string.Format(" ﹂ in {0} ticks",sw.ElapsedTicks.ToString("N0")));