C# 使用ASP.NET MVC分页在网页上显示日志文件信息

C# 使用ASP.NET MVC分页在网页上显示日志文件信息,c#,text-parsing,C#,Text Parsing,我将日志存储在以下格式的txt文件中 =======8/4/2010上午10:20:45========================================= 处理捐赠 =======8/4/2010上午10:21:42========================================= 向服务器发送信息 =======8/4/2010上午10:21:43========================================= 我需要将这些行解析为一个列表,其

我将日志存储在以下格式的txt文件中

=======8/4/2010上午10:20:45=========================================

处理捐赠

=======8/4/2010上午10:21:42=========================================

向服务器发送信息

=======8/4/2010上午10:21:43=========================================

我需要将这些行解析为一个列表,其中“==”行之间的信息被计算为一条记录,在ASP.NET MVC中使用分页显示在网页上

示例:第一个记录条目是

=======8/4/2010上午10:20:45=================================================

处理捐赠


我到目前为止运气不好。我该怎么做呢?

在阅读文件时,你能检查一下行是否以=====

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);
  }
}
var sBuilder=new StringBuilder()
bool lineEnd=false;
var items=新列表();
string currentLine=string.Empty
使用(var file=newstringreader(“log.txt”))
{
而((currentLine=file.ReadLine())!=null)
{
如果(currentLine.EndsWith(“=”))
{
添加(sBuilder.ToString());
sBuilder.Clear();
}
其他的
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"]});
string texty=“==========……”//文件数据
var matches=Regex.matches(texty,@“={6}(?.+)={41}\s*(?.+)”;
var results=matches.Cast().Select(m=>new{Date=m.Groups[“Date”],Message=m.Groups[“Message”]});
我总是忘记正则表达式