[英]Display log file information on a Web page with ASP.NET MVC paging
我將日志存儲在txt文件中,格式如下。
====== 8/4/2010 10:20:45 AM ================================= ========
處理捐贈
====== 8/4/2010 10:21:42A M ================================= ========
將信息發送到服務器
====== 8/4/2010 10:21:43 AM ================================= ========
我需要將這些行解析為一個列表,其中“====”行之間的信息被計為一個記錄,以便在ASP.NET MVC中使用分頁顯示在網頁上。
示例:第一個記錄條目是
====== 8/4/2010 10:20:45 AM ================================= ================
處理捐贈
到目前為止我沒有運氣。 我該怎么做?
在讀取文件時,您可以檢查行是否以=====結尾
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);
}
}
它有點冗長,但可能會給你一些想法
所以......在我的另一個答案中忽略冗長的代碼。 而是使用這兩行奇跡:
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"]});
我總是忘記正則表達式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.