Как удалить строку из текстового файла, если строка содержит указанный c элемент C# - PullRequest
2 голосов
/ 24 апреля 2020
  • Пример структуры строки текстового файла: element1,element2,element3
  • Число elements равно stati c, т.е. будет только 3 elements на строку
  • I всегда буду использовать 2-й element каждой строки
  • Я хочу удалить строку из текстового файла, если element2 = DeleteId

Код, который у меня так far:

var categoryFile = Server.MapPath("~/App_Data/Categories.txt");

var tempFile = Path.GetTempFileName();
var linesToKeep = System.IO.File.ReadLines(categoryFile).Where(l => l != Convert.ToString(DeleteId));

System.IO.File.WriteAllLines(tempFile, linesToKeep);

System.IO.File.Delete(categoryFile);
System.IO.File.Move(tempFile, categoryFile);

Не могу понять, как мне пришлось бы изменить приведенный выше код, чтобы можно было удалить строку, если она содержит DeleteId. Любая помощь приветствуется! :)

1 Ответ

1 голос
/ 24 апреля 2020

отметьте это

var linesToKeep = System.IO.File.ReadLines(categoryFile).Where(l => l.Split(',')[1] != "DeleteId");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...