Replace tekstu z konkretnej kolumny pliku txt

0

Chce podmienic konkretny tekst w pliku txt w kolumnie X w zaleznosci od kolumny Y

Głównie chodzi o ten element:

col[33] = "0";
line = line.Replace(col[33].ToString(), "0");
streamWriter.WriteLine(line);

W debugerze w kazdej iteracji to co chce osiagnac, czyli nadac kolumnie 33 wartosc, dostaje 0, czyli to co chce osiagnac, ok. Jednak nie jest to już zapisywane do pliku, czy może mi ktoś z tym pomoc? Prawdopodobnie uzywam zlej skladni, sam już nie wiem. Przekopalem sie przez internet i nie znalazlem rozwiazania problemu.

Całość:

using (var streamReader = new StreamReader(tempFileName))
using (var streamWriter = new StreamWriter(saveFileDialog1.FileName))
{
    string line;
    int count = 1;

    while ((line = streamReader.ReadLine()) != null)
    {
        if (count > 1)
        {
            string[] col = line.Split(new char[] { '\t' });
           
            if (!string.IsNullOrWhiteSpace(col[34]))
            {
                if (string.IsNullOrWhiteSpace(col[33]))
                {
                    if (col[33] == string.Empty)
                    {
                        col[33] = "0";
                        line = line.Replace(col[33].ToString(), "0");
                        streamWriter.WriteLine(line);
                    }
                }
                else
                {
                    streamWriter.WriteLine(line);
                }
            }
        }
        else
        {
            streamWriter.WriteLine(line);
        }

        count++;
    }
}
0

https://stackoverflow.com/questions/7569904/easiest-way-to-read-from-and-write-to-files

// Create a file to write to.
string createText = "Hello and Welcome" + Environment.NewLine;
File.WriteAllText(path, createText);

// Open the file to read from.
string readText = File.ReadAllText(path);
0

Nie wiem jak to by miało pomóc...?
Zapisywanie do pliku, czyli linia:

streamWriter.WriteLine(line);

działa poprawnie.
Kwestia tego ze w pliku jest kolumna "pusta" a ja chce wstawic do niej wartosc. Problem z replace na line jest taki ze nie mozna zamienic "nic" na "coś" ( w tym przypadku 0) bo wystepuje błąd:

"System.ArgumentException: 'String cannot be of zero length.
Parameter name: oldValue'"

Pytanie jak to obejść?

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