2016-08-10 3 views
0

Ich lese bereits die Zeile, die ich ersetzen möchte, aber ich weiß nicht, wie ich die Zeile durch Text ersetzen könnte, der in einer Variablen gespeichert ist. Hilfe wird geschätzt. Vielen Dank!Wie kann ich eine Zeile in einer Textdatei durch eine Stringvariable ersetzen?

+0

können Sie ein Beispiel geben, was Sie tun möchten? Ich verstehe die qs nicht. Thks. –

+0

Mögliches Duplikat von [Ein Wort aus einer bestimmten Zeile in einer Textdatei ersetzen] (http://stackoverflow.com/questions/22926306/replace-a-word-from-a-specific-line-in-a-text- Datei) –

Antwort

4

Sie können eine Zeile in einer Textdatei nicht "ersetzen". Sie müssen die gesamte Textdatei in eine Sammlung in Ihrem Code einlesen, die Zeile durch Ihren neuen Wert ersetzen und dann die Textdatei vollständig zurückschreiben.

string[] lines = File.ReadAllLines(filePath); 

// find and replace the line you want. 

File.WriteAllLines(filePath, lines); 
+0

Vielen Dank! Ich war festgefahren mit "kann nicht auf die Datei zugreifen, weil es von einem anderen Prozess verwendet wird" nach der Verwendung dieser, aber ich erkannte, dass ich den "File.WriteAlllines" Befehl in die "mit (Streamreader) geschweiften Klammern.: D – Headshot

+0

Yep,' Datei .ReadAllLines' und 'File.WriteAllLines' kapseln den' using' Mechanismus sauber ein, damit Sie keine Probleme haben :) –

0

Liest den Inhalt der Datei in eine String-Variable oder eine andere geeignete Variable ein.

Wenn Sie die Dateiinhalte in eine Zeichenfolge var schreiben, verwenden Sie mystringvar.indexof (myline), um festzustellen, ob die Zeile vorhanden ist, und verwenden Sie dann mystring.replace (myline, mynewline), um die alte Zeile durch eine neue zu ersetzen. Dann aktualisieren Sie die Textdatei mit mystringvar

Verwandte Themen