Member 13975230 Ответов: 1

Как вставить строку через каждые 2 слова?


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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
using System.IO;

namespace _U_5_6
{
    class Program
    {
        const string CFd = "..\\..\\A.txt";
        const string CFr = "..\\..\\Rezultatai.txt";
        static void Main(string[] args)
        {
            int nr;
            Read(CFd, out nr);
            ReadWrite(CFd, CFr, " asdas", nr);
        }

        static void Read(string fv, out int nr)
        {
            string[] lines = File.ReadAllLines(fv, Encoding.GetEncoding(1257));
            nr = 0;
            int nreil;
           foreach (string line in lines)
            {
                nreil = line.Trim().Split(' ').Count();
                if ((line.Length % 2) == 0)
                {
                }
               

            }
        }

        static void ReadWrite(string fs, string fr, string eil, int n)
        {
            using (var frr = File.CreateText(fr))
            {
                using (StreamReader reader = new StreamReader(fs,
                Encoding.GetEncoding(1257)))
                {
                    string line;
                    for (int i = 0; i <= n && ((line = reader.ReadLine()) != null); i++)
                        frr.WriteLine(line+eil);
                    while ((line = reader.ReadLine()) != null)
                        frr.WriteLine(line);
                }
            }
        }
    }
}


Что я уже пробовал:

Я заблудился с этим текстом БС мне нужна помощь

1 Ответов

Рейтинг:
0

OriginalGriff

Сначала разделите каждую строку так, чтобы каждое слово было в отдельной строке.
Подсчитайте количество слов.
Если это даже использовать цикл for для обработки его в парах:

for (int i = 0; i < numberOfWords; i += 2)
   {
   ...
   }
Внутри цикла добавьте к выходу слово с индексами i и i + 1. Добавьте также свою строку.


Member 13975230

Сказав добавить слово в индексах, не могли бы вы объяснить немного больше. Вы имеете в виду, как "слово.Вставить(i,...)"?

OriginalGriff

Когда вы используете строку.Split, он возвращает массив строк с одной разделенной частью на элемент массива. Например, если ваша входная строка "123 456 789" и вы разделяете ее на запятые:
строка[] части = "123,456,789".Расщеплять(',');
тогда части будут иметь три элемента:
детали[0] = "123"
детали[1] = "456"
детали[2] = "789"
Если i равно нулю, то вы можете получить доступ к первым двум частям с индексами:
строку выходного = части[я] + запчасти[я + 1];

В этом есть смысл?

Member 13975230

Хорошо, я получил его, я также добавил свою строку, проблема в том, что после того, как у меня есть строка, как я могу заменить ее текстом, который я распечатываю в .txt? Я заблудился

OriginalGriff

Вы хотите попробовать это снова, на этот раз помня, что я не могу видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли? Я получаю только то, что вы печатаете, и поэтому вы печатаете как можно меньше, чтобы никому не помочь! :смеяться:

Member 13975230

Неважно я все понял большое спасибо