2013-03-12 70 views
0

APPGUID:643d4128-1484-4aa1-8c17-38ae3b0cf974丟棄和打印等行升C

APPGUID:3974af88-1fb1-4ba7-84b9-59aa00c707bb

我想我的程序丟棄包含「APPGUID」一些特定的值作爲上述線路。

我的代碼是在這裏:

IEnumerable<string> textLines 
     = Directory.GetFiles(@"C:\Users\karansha\Desktop\Unique_Express\", "*.*") 
        .Select(filePath => File.ReadLines(filePath)) 
        .SelectMany(line => line) 
        .Where(line => !line.Contains("appGUID: ")) 
        .ToList(); 
+0

這些APPGUID:<32-digit>串應該被丟棄。 – 2013-03-12 11:47:18

+0

是被丟棄行的* complete *內容嗎?你有沒有收集這些值被丟棄? – 2013-03-12 11:47:59

回答

0

您可以使用正則表達式來檢查line包含選配合適的模式的特定字符串。下面的代碼將匹配不包含任何比賽爲後跟一個串中的GUID的形式表達appGUID:所有行:

IEnumerable<string> textLines = Directory.GetFiles(@"C:\Users\karansha\Desktop\Unique_Express\", "*.*") 
    .Select(filePath => File.ReadLines(filePath)) 
    .SelectMany(line => line) 
    .Where(line => 
     Regex.Matches(line, 
      "appGUID: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}").Count == 0) 
    .ToList(); 
    } 
+0

先生,請你告訴我這段代碼究竟會做什麼? – 2013-03-12 12:18:07

+0

我已經用簡短的解釋更新了答案。 – 2013-03-12 12:30:02

+0

感謝您的解決方案。 – 2013-03-12 12:39:11