Ich habe diesen Code, der Doppel mit ungeraden Indexen findet alle mit "X" zu ersetzen, außer ersten mit ungeraden Index, sondern behält alle Doppelgänger mit geraden Indizes. Frage ist, wie gefundene Zeile im Textdokument ersetzt wird. So kann ich Ergebnis bekam, die ersetzt werden müssen, aber wie Zeilen in Textdokument zu überschreibenErsetzen gefundene Zeile in Textdokument
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
const string FILENAME = "test.txt";
static void Main(string[] args)
{
List<string> uniqueOddLines = new List<string>();
List<string> lines = new List<string>();
string inputLine = "X";
StreamReader reader = new StreamReader(FILENAME);
int index = 0;
while ((inputLine = reader.ReadLine()) != null)
{
inputLine = inputLine.Trim();
if (++index % 2 == 0)
{
lines.Add(inputLine);
}
else
{
if (uniqueOddLines.Contains(inputLine))
{
lines.Add(string.Format("Rewrite line {0}", index));
}
else
{
uniqueOddLines.Add(inputLine);
lines.Add(inputLine);
}
}
}
foreach (string line in lines)
{
Console.WriteLine(line);
}
Console.ReadLine();
}
}
}
Zum Beispiel Inhalt in Textdokument ist:
row1
row2
row3
row4
row5
row6
row3
row8
row9
row3
row11
row3
row3
row3
Arbeit von bestimmtem Code:
01. row1
02. row2
03. row3 <- keep row with odd index because it is first in order
04. row4
05. row5
06. row6
07. row3 <- rewrite this double because it is not the first one with odd index
08. row8
09. row9
10. row3 <- keep this double, because row index is even number
11. row11
12. row3 <- keep this double, because row index is even number
13. row3 <- rewrite this double because it is not the first one with odd index
14. row3 <- keep this double, because row index is even number
Und hier ist das gewünschte Ergebnis, das gleiche wie oben, aber ich möchte es in Textdokument:
row1
row2
row3
row4
row5
row6
X
row8
row9
row3
row11
row3
X
row3
Könnten Sie bitte ein Beispiel für die Ausgangsdaten und die erwartete Ausgabe angeben? –
Sie können bestimmte Zeilen in einem Textdokument nicht überschreiben, Sie müssen das gesamte Dokument überschreiben. Zum Glück haben Sie bereits den gewünschten Inhalt in den Zeilen. Schreiben Sie es einfach in eine Datei mit dem gleichen Namen. – enkryptor
@Dmitry Bychenko getan Ich habe es über –