Заменить в файле текст, находящийся между заданными участками - C#

Узнай цену своей работы

Формулировка задачи:

В указанный файл вместо строк расположенных между #FILE имя-файла.txt и #FILE-END подставить содержимое файла имя-файла.txt. Пробовал сделать, получилось что заменяет только первую часть (#FILE *.txt), не могу понять как сделать чтобы заменялось всё что между началом и концом.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
 
namespace test
{
    class Program
    {
        static void Main()
        {
            string path = @"...\test.txt";
            string[] mass_text = File.ReadAllLines(path);
            StreamWriter file_end = new StreamWriter(path);
 
            string reference = "#FILE ";
 
            for (int i = 0; i < mass_text.Length; i++)
            {
                if (mass_text[i].IndexOf(reference) != -1)
                {
                    string fileName = mass_text[i].Substring(mass_text[i].IndexOf(reference) + reference.Length);
                    string[] textInFile = File.ReadAllLines(fileName);
                    string res ="";
                    for (int j = 0; j < textInFile.Length; j++)
                    {
                        res += textInFile[j] + "";
                    }
                    mass_text[i] = mass_text[i].Replace(mass_text[i], res);
 
                }
                file_end.WriteLine(mass_text[i]);
            }
            file_end.Close();           
        }
    }
}

Решение задачи: «Заменить в файле текст, находящийся между заданными участками»

textual
Листинг программы
int x = 0;
 
#FILE
 
A.txt
#FILE-END
 
int y = 0;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.267 из 5
Похожие ответы