Hallo Leute,
ist es denn möglich in einer Datei nach einem String zu suchen und diesen zu ersetzen?
Sprich die Vorteile des StreamReader und StreamWriter Objekts zusammenzufassen?
Ich muss in Textdateien etc. Zeilenweise Positionen ersetzen, bzw. Strings ersetzen.
vielen Dank für Eure Hilfe
Maik
Moin motoermaik,
ersetzen kannst du nur, wenn die länge des Ersatzes identisch zur Länge des zu ersetzenden ist.
Mann kann in eine Datei nicht einfügen. (d.h. nicht auf File ebene (ok, wenn man anfängt low-level im NTFS oder FAT rumzuwühlen mag das möglich sein, aber diese Möglichkeit würde ich mal ignorieren wollen) . Mann muss halt alles ab der dersetzung dann selber wieder in die Datei schreiben. Bei langen dateien kommst du da evtl. nicht um eine Tem-Datei rum...)
Aha, das dachte ich mir.
Also am besten zeilenweise lesen und schreiben, und wenn die Zeile der entspricht die ich ändern will meinen neuen String schreiben anstatt der momentan gelesenen Zeile.
Danke Dir!
ersetzen kannst du nur, wenn die länge des Ersatzes identisch zur Länge des zu ersetzenden ist.
versteh ich nicht: String.Replace("kurz", "jetzt isses aber gaaanz doll lang")
@.unreal: wir reden über Dateien, nicht Strings im Speicher!
Im übrigen wird auch bei string.Replace nix im orignal String ersetzt. Auch da wird eine Kopie angelegt ... (strings sind sogar komplett immutable. nur mit einem StringBuilder würde da irgendetwas gehen)