foreach(Match m in Regex.Matches(log,"E/.+"))
{
   //m.Value
}

解决方案 »

  1.   

    结果:
    E/Trace   (17215): error opening trace file: No such file or directory (2)
    E/dalvikvm(17215): GC_CONCURRENT freed 150K, 7% free 8511K/9095K, paused 11ms+12ms, total 41ms
    E/Trace   (17232): error opening trace file: No such file or directory (2)
    E/dalvikvm(17232): GC_CONCURRENT freed 162K, 7% free 8532K/9095K, paused 2ms+2ms, total 18ms
    E/Trace   (17580): error opening trace file: No such file or directory (2)
    E/dalvikvm(17580): GC_CONCURRENT freed 175K, 7% free 8519K/9095K, paused 2ms+1ms, total 18ms
      

  2.   

    foreach(Match m in Regex.Matches(log,"(?m)^E/.+"))
    {
       //m.Value
    }
      

  3.   

    可以使用File读取你的日志。 string path =@"D:\ceshi.txt";
               string[] fileArray = File.ReadAllLines(path, Encoding.UTF8);
               string[] errroLines = fileArray.Where(p => p.IndexOf("E/") == 0).ToArray();
      

  4.   


    string errorMessages = 
    @"
        E/Trace   (17215): A1 error opening trace file: No such file or directory (2)
        W/dalvikvm(17215): Refusing to reopen boot DEX '/system/framework/hwframework.jar'
        E/dalvikvm(17215): A2 GC_CONCURRENT freed 150K, 7% free 8511K/9095K, paused 11ms+12ms, total 41ms
        E/Trace   (17232): A3 error opening trace file: No such file or directory (2)
        W/dalvikvm(17232): Refusing to reopen boot DEX '/system/framework/hwframework.jar'
        E/dalvikvm(17232): A4 GC_CONCURRENT freed 162K, 7% free 8532K/9095K, paused 2ms+2ms, total 18ms
        W/System.err(17232): Invalid int: ""
        E/Trace   (17580): A5 error opening trace file: No such file or directory (2)
        W/dalvikvm(17580): Refusing to reopen boot DEX '/system/framework/hwframework.jar'
        E/dalvikvm(17580): A6 GC_CONCURRENT freed 175K, 7% free 8519K/9095K, paused 2ms+1ms, total 18ms
        I/TestRunner(17580): started: TST_05_GroupEPP
    ";
    Regex regex = new Regex(@"(?:E/\w+\s*\(\d+\):\s*)(.*)\r\n", RegexOptions.IgnoreCase | RegexOptions.Multiline);
    foreach (Match errorMessage in regex.Matches(errorMessages))
    {
        Console.WriteLine("\"{0}\"", errorMessage.Groups[1].Value);
    }