using System; using System.Text.RegularExpressions; using System.Linq.Expressions; using System.Collections.Generic; using System.Linq; class Test { private Result result; public enum Result { SUCCESS = 1, FAIL = 2, NONE = 3 } public static void Main() { string input = @"Today at 01:05: (NAME) Failed Backup - The operation encountered an error. (NAME) Failed when backing up: A file was not found (NAME) DISK_OPEN_ERROR Today at 01:04: (NAME) Successful Backup - Backed 42,73 MB (compressed to 7,32 MB).(Duration: 1 minute) Today at 00:59: (NAME) Successful Backup - Backed 3,41 GB (compressed to 379,17 MB).(Duration: 4 minutes)"; Test test = new Test(); var results = test.FindResult(input); foreach (var r in results) { Console.WriteLine(r); } } public List FindResult(string text) { return Regex .Split(text, @"\r?\n\s*\r?\n") .Select(s => s.Contains("Failed") ? Result.FAIL : Result.SUCCESS) .ToList(); } }