problem z usuwaniem wierszy

0

Witam,
Jak usunąć w pliku tekstowym tylko te wiersze które posiadają w dany wierszu np. wyraz ”dane”.
Dodam, że plik.txt posiada liczby, wyrazy, znaki specjalne do tego jeden wyraz od drugiego jest oddalony raz spacja raz tabulatorem i do tego każdy wiersz ma różną długość. Raz jest więcej wyrazów i liczb raz mniej. Próbowałem już Remove, Replace, Regex.Replace
Ale za każdym razem robię chyba coś nie tak, bo albo usuwam więcej niż jeden wiersz albo tylko sam wyraz ”dane”. Wrzucenie wszystkiego do tabeli [,] i później obrobienie tego też nie pomaga, bo nie jestem w stanie określić rozmiaru kolumn w tym pliku. Prosiłbym o pomoc, bo już siedzę nad tym problemem 2 dzień i nic mi nie przychodzi do głowy.
Pozdrawiam

0

5 min :P

            string path = "C:\\Users\\Maciej\\Downloads\\test.txt";
            List<string> lines = new List<string>(File.ReadAllLines(path));
            for (int i = lines.Count - 1; i >= 0; i--)
            {
                if (lines[i].Contains("dane"))
                    lines.RemoveAt(i);
            }
            File.WriteAllLines(path, lines.ToArray());
0

1 min :p

string path = "C:\\Users\\Maciej\\Downloads\\test.txt";
            List<string> lines = new List<string>(File.ReadAllLines(path));
            File.WriteAllLines(path, lines.Where((string line) => !line.Contains("dane")).ToArray());

1 użytkowników online, w tym zalogowanych: 0, gości: 1