Wątek przeniesiony 2018-05-26 18:51 z C# i .NET przez somekind.

Wstawianie dowolnego ciągu znaków co np. 3 linie

0

Witam, chodzi mi o to aby zrobić mały skrypcik może być on nawet w konsoli. Miałby on za zadanie wstawiać np słowo END w miejscu gdzie wykryję pustą linię w pliku txt czy to w textboxie.
przykład zamieszczam w cytacie:

Pierwsza liniia
Druga linia 
Trzecia linia
///  <--------------- Tutaj pusta linia
Piąta linia itd
itd
itd

W 4 linia pozostaję pusta, i tu chciałbym aby program zamieszczał dowolne słowo ustalone prze zemnie w kodzie. Za pomoc dziękuje

1
string path = @"C:\test\test.txt";
StringBuilder sr = new StringBuilder();
var input = File.ReadAllLines(path);
for (int i=0; i<input.Count(); i++)
{
    if (string.IsNullOrEmpty(input[i]))
    {
        input[i] = "END";
    }
    sr.Append(input[i] + Environment.NewLine);
}
File.WriteAllText(path, sr.ToString());

Chociaż łatwiej to zrobić tak
reg.PNG

reg2.PNG

0

Dzięki zaraz sprawdzę :)

0
Chory Polityk napisał(a):
StringBuilder sr = new StringBuilder();
for (int i=0; i<input.Count(); i++)
{
    sr.Append(input[i] + Environment.NewLine);
}

Tutaj chyba zrobiłem błąd. Dodałem string buildera żeby nie łączyć stringów plusem, a i tak zrobiłem w środku input + env newline

tzn. chodzi o wydajność, jeżeli twoje pliki nie mają "dużej" ilości linijek np. >50k, to możesz to olać.

0

Przecież można użyć AppendLine po prostu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1