比较字符串和行,并删除包含单词的行

时间:2013-12-03 06:04:45

标签: c# winforms

所以我有一个txt文件包含:

127.0.0.1    test69.com
127.0.0.1    http://test69.com
127.0.0.1      ok.tk
127.0.0.1 man.test

如果我有字符串test69.comman.test与此文件进行比较,c#程序如何删除文件中的第(1)(2)(4)行?

2 个答案:

答案 0 :(得分:4)

string[] domains = { "test69.com", "man.test" };
string[] lines = File.ReadLines(fileName)
                     .Where(l => !domains.Any(d => l.Contains(d)))
                     .ToArray();

// write lines basck to file, if you need
File.WriteAllLines(fileName, lines);

答案 1 :(得分:1)

static void Main(string[] args)
{
    string path = @"C:\datafile.txt";
    string [] allLines = File.ReadAllLines(path);
    List<string> newlines = new List<string>();

   foreach (string line in allLines)
   {
       if (!line.Contains("test69.com") && !line.Contains("http://test69.com") && !line.Contains("man.test"))           
           newlines.Add(line);              
    }    
   File.WriteAllLines(path, newlines.ToArray());     
}