Удаление строк по маске - C#
Формулировка задачи:
private void Remove_Click(object sender, EventArgs e)
{
LogFile.Items.Clear();
string[] Filter = { "\\WinSxS\\", "\\syswow64\\", "\\servicing\\" };
for (int i = 0; i < 2; i++)
{
string FilterKey = Filter[i];
string line;
using (FileStream f = new FileStream("C:\\Log.txt", FileMode.Open))
using (StreamReader sr = new StreamReader(f, Encoding.Default))
while ((line = sr.ReadLine()) != null)
{
if (!line.Contains(FilterKey))
{
LogFile.Items.Add(line);
}
}
WriteToFile(@"C:\\Log.txt", LogFile);
}
}Решение задачи: «Удаление строк по маске»
textual
Листинг программы
LogFile.Items.Clear();
string[] Filter = { "\\WinSxS\\", "\\syswow64\\", "\\servicing\\" };
string line;
using (FileStream f = new FileStream("C:\\Log.txt", FileMode.Open))
{
using (StreamReader sr = new StreamReader(f, Encoding.Default))
while ((line = sr.ReadLine()) != null)
{
bool contains = false;
for (int i = 0; i < 3; i++)
{
string FilterKey = Filter[i];
if (line.Contains(FilterKey))
contains=true;
}
if (!contains)
LogFile.Items.Add(line);
}
WriteToFile(@"C:\\Log.txt", LogFile);
}