C# string starts with a number regex

Viewed 60425

I've been searching around for a little while to figure out how to confirm a string begins with a number. I came across a regex statement '/^\d/' which I can confirm says if starts with digit. However I can not seem to get it to work in the code below. Where did I went wrong in the statement if(Regex.Match(info,"/^\d/"))?

//String attachbody is the attachment body from an email C read into a string
string[] data = Regex.Split(attachbody, "\n");

foreach (String info in data)
{
    if (Regex.Match(info,"/^\d/"))
    {
        string[] tabbedHeaderData = Regex.Split(info, "\t");
        TicketID = tabbedHeaderData[0].ToString();
        Status = tabbedHeaderData[1].ToString();
        URL = tabbedHeaderData[2].ToString();
        InitCats = tabbedHeaderData[3].ToString();
        PostRevCats = tabbedHeaderData[4].ToString();
        ListNumClosed = tabbedHeaderData[5].ToString();

        Console.WriteLine(TicketID);
        Console.WriteLine(Status);
        Console.WriteLine(URL);
        Console.WriteLine(InitCats);
        Console.WriteLine(PostRevCats);
        Console.WriteLine(ListNumClosed);
        Console.ReadLine();
    }
}

example data (tab delimited):
TicketID Status URL InitCats PostRevCats ListNumClosed 555555 Closed http://5555555.com/searcho Malicious Sites 55555

6 Answers

If you do not want to use Regex (some inteview question platforms do not allow regex ) and Char.IsDigit(info[0]),

You can use if(info[0] => 0 && info[9] <= 9) to check if char is numeric or not.

Depends on requirements if you do not want to consider '.' as Digit (for e.g. Integer values only) do not use Char.IsDigit(info[0]) since this function returns true for '.'

Related