How to extract data from a text file

Posted by šljaker on Stack Overflow See other posts from Stack Overflow or by šljaker
Published on 2012-12-20T10:54:52Z Indexed on 2012/12/20 11:03 UTC
Read the original article Hit count: 253

Filed under:
|

I need to parse some large text file and extract Display name and area code only if it matches the following pattern:

  • Line starts with display name (any number of words)
  • Followed by 6 digits (can contain spaces)
  • Followed by #text tag

e.g.

John doe 123 456 #text some text
Display name: John doe
Area code: 123 456

Test 123456 #text
Display name: Test
Area code: 123456

Test 123 #test
Invalid, area code contains only 3 digits

Test 123456 #test1
Invalid, contains invalid tag

Test 123g45 #test
Invalid, area code contains letters

etc.

I know how to open the text file and read it line by line, but having trouble with writing the regular expression.

Any help would be greatly appreciated!

edit:

I have tried this:

private static void Main(string[] args)
{
    string text = "John Doe 123 45 #text Lorem ipsum dolor :)";
    string pattern = @"(\w+)*([0-9]{2,5}).([0-9]{2,5}).#text";
    Match match = Regex.Match(text, pattern, RegexOptions.IgnoreCase);

    if (match.Success)
    {
        string key = match.Groups[0].Value;
        Console.WriteLine(key);
    }
}

© Stack Overflow or respective owner

Related posts about c#

Related posts about regex