2010-08-17 4 views
3

У меня есть журналы, хранящиеся в txt-файле в следующем формате.Отобразить информацию о файле журнала на веб-странице с помощью ASP.NET MVC paging

====== 8/4/2010 10:20:45 AM ======================================================================================================= ==============

Обработка Пожертвование

====== 8/4/2010 10: 21: 42A М ========= ================================

Отправка информации на сервер

====== 8/4/2010 10:21:43 AM ===================================================================================== ==

Мне нужно разобрать эти строки в список, где информация между линиями «====» подсчитывается как одна запись для отображения на веб-странице с использованием подкачки в ASP.NET MVC.

Пример: Первая запись запись будет

====== 8/4/2010 10:20:45 AM =============== ==================================

Обработка Пожертвование

Я не везло так далеко. Как мне это сделать?

ответ

0

Хотя чтение в файл, который вы могли бы сделать проверку, чтобы увидеть, если строка заканчивается =====

var sBuilder = new StringBuilder() 
bool lineEnd = false; 
var items = new List<string>(); 
string currentLine = String.Empty 
using(var file = new StringReader("log.txt")) 
{ 
    while((currentLine = file.ReadLine()) != null) 
    { 
    if(currentLine.EndsWith("====")) 
    { 
     items.Add(sBuilder.ToString()); 
     sBuilder.Clear(); 
    } 
    else 
     sBuilder.Append(currentLine); 
    } 
} 

Это немного многословным, но может дать вам некоторые идеи

0

Так .. Игнорируйте подробный код в моем другом ответе. Вместо этого используйте это двухстрочное чудо:

string texty = "=====........"; //File data 
var matches = Regex.Matches(texty, @"={6}(?<Date>.+)={41}\s*(?<Message>.+)"); 

var results = matches.Cast<Match>().Select(m => new {Date = m.Groups["Date"], Message = m.Groups["Message"]}); 

Я всегда забываю о регулярных выражениях.

 Смежные вопросы

  • Нет связанных вопросов^_^