Как массово добавить 2 шт. новые строки в нужные места по тексту

Вадим_88

Новичок
Регистрация
04.12.2024
Сообщения
4
Благодарностей
0
Баллы
1
Как массово добавить 2 шт. новые строки текста в текст в двух местах: после первого абзаца и в конце каждого текста. Данные новые тексты добавить в виде новых строк. Каждый исходный текст состоит из нескольких абзацев и еще исходные тексты к которым нужно добавить новые строки делятся между собой разделителями следующего вида --------

Пример исходного текста в блокноте .txt:

Первый абзац первого текста. Первый азбац текста, первый данный текст первого абзаца может состоят из нескольких строк которые идут подряд.

Второй абзац второго текста второй абзац текста в данном случае из одной строки, но строк может быть больше.

Третий абзац текста третий абзац текста он тоже может состоять из нескольких строк подряд.
----------
Первый абзац второго текста. Первый азбац текста, первый данный текст первого абзаца состоит из нескольких строк которые идут подряд.

Второй абзац второго текста второй абзац текста в данном случае из одной строки, но строк может быть больше.

Третий абзац текста третий абзац текста он тоже может состоять из нескольких строк подряд.

Четвертый абзац текста
----------

Пример готового текста в блокноте после добавления нужных строк.txt:

Первый абзац первого текста. Первый азбац текста, первый данный текст первого абзаца состоит из нескольких строк которые идут подряд.

Новая строка которая появилась после первого абзаца через переменную

Второй абзац второго текста второй абзац текста в данном случае из одной строки, но строк может быть больше.

Третий абзац текста третий абзац текста он тоже может состоять из нескольких строк подряд.

Новая строка которая появилась в конце текста через переменную
----------
Первый абзац второго текста. Первый азбац текста, первый данный текст первого абзаца может состоять из нескольких строк которые идут подряд.

Новая строка которая появилась после первого абзаца через переменную

Второй абзац второго текста второй абзац текста в данном случае из одной строки, но строк может быть больше.

Третий абзац текста третий абзац текста он тоже может состоять из нескольких строк подряд.

Четвертый абзац текста

Новая строка которая появилась после первого абзаца через переменную
----------

Понимаю что добавление новых строк через переменные, которые по списку без проблем могу составить, но как эти переменные (новые строки) добавлять в текстах в нужные места - именно после первого абзаца и в конце перед разделителем который идет новой строкой.
 

xASZx

Client
Регистрация
24.11.2017
Сообщения
72
Благодарностей
15
Баллы
8
Наверное как то так, только свои переменные надо добавить в массив и пути к файлам

C#:
var arrVars = new string[]
{
    project.Variables["var1"].Value,
    project.Variables["var2"].Value,
    project.Variables["var3"].Value,
    project.Variables["var4"].Value
};



var text = File.ReadAllText("D:/tt.txt");

var arrDataText = text.Split(new string[]{"----------"}, StringSplitOptions.None).ToList();

arrDataText.RemoveAll(x => String.IsNullOrEmpty(x));

var newLst = new List<string>();

int numVar = 0;
foreach (var block in arrDataText)
{

    var lines = Regex.Split(block, @"\r\n|\n|\r").Select(x =>x.Trim()).ToList();

    lines.RemoveAll(x => String.IsNullOrEmpty(x));

    int count = 0;

    foreach (var em in lines)
    {

        if (count == 1)
        {
            newLst.Add(arrVars[numVar] + "\n");
            numVar++;
        }
        else
        {
            newLst.Add(em + "\n");
        }

        count++;
    }

    newLst.Add(arrVars[numVar]);
    numVar++;
    newLst.Add("----------");
}

File.WriteAllLines("D:/tt21.txt", newLst);
 

Вадим_88

Новичок
Регистрация
04.12.2024
Сообщения
4
Благодарностей
0
Баллы
1
Наверное как то так, только свои переменные надо добавить в массив и пути к файлам

C#:
var arrVars = new string[]
{
    project.Variables["var1"].Value,
    project.Variables["var2"].Value,
    project.Variables["var3"].Value,
    project.Variables["var4"].Value
};



var text = File.ReadAllText("D:/tt.txt");

var arrDataText = text.Split(new string[]{"----------"}, StringSplitOptions.None).ToList();

arrDataText.RemoveAll(x => String.IsNullOrEmpty(x));

var newLst = new List<string>();

int numVar = 0;
foreach (var block in arrDataText)
{

    var lines = Regex.Split(block, @"\r\n|\n|\r").Select(x =>x.Trim()).ToList();

    lines.RemoveAll(x => String.IsNullOrEmpty(x));

    int count = 0;

    foreach (var em in lines)
    {

        if (count == 1)
        {
            newLst.Add(arrVars[numVar] + "\n");
            numVar++;
        }
        else
        {
            newLst.Add(em + "\n");
        }

        count++;
    }

    newLst.Add(arrVars[numVar]);
    numVar++;
    newLst.Add("----------");
}

File.WriteAllLines("D:/tt21.txt", newLst);
Спасибо огромное за помощь. Попробовал, ошибка выходит:
Компиляция кода Ошибка в действии "CS1009" "Unrecognized escape sequence". [Строка: 48; Cтолбец: 67]
 

xASZx

Client
Регистрация
24.11.2017
Сообщения
72
Благодарностей
15
Баллы
8
а какой у вас был код в кубике?
скорее всего не верно указали путь к файлам
 
Последнее редактирование:

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)