В .txt есть строки, которые начинаются с "{". Как их удалить и оставить только пустую строку. Если количество строк в .txt 500, то останется одна.
string[] file1 = File.ReadAllLines("test1.txt");
foreach (var lines1 in file1)
{
if (lines1.StartsWith("{"))
{
string text = lines1.Replace(lines1, "");
//Console.WriteLine(lines1);
File.WriteAllText("test1", text);
}
}
Не до конца понял, что именно должно остаться в файле. Поэтому сделал универсальный метод.
var fileList = File.ReadAllLines("test1.txt").ToList();
for (var i = fileList.Count - 1; i >= 0; i--)
{
if (fileList[i].StartsWith("{"))
fileList.RemoveAt(i); //Удаление строки целиком
//fileList[i] = String.Empty; //Оставляем строку, но делаем ее пустой
}
File.WriteAllLines("test1.txt", fileList);
Суть следующая:
List.for данный Listи и ищем подходящую нам строку.List (fileList.RemoveAt(i)) /
заменяем ее на нужное (fileList[i] = String.Empty;).Только не стоит забывать о проверках (на отсутствие файла к примеру, или на отсутствие изменений (что бы не записывать по сотню раз в файл одну и туже информацию)), но это уже думаю сами без проблем сделаете.
С помощью LINQ выбираем все строки, не начинающиеся с нужного нам символа. Потом удаляем файл и перезаписываем его. Как подсказали ниже, не обязательно удалять файл
var exLines = lines.Where(l => !l.StartsWith("{")); // выбор всех строк в IEnumerable<string>
File.Delete("file"); // удаление файла
File.AppendAllLines("file.txt", exLines); // создание и записывание файла
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости