Serious_der_Penner Geschrieben 16. November 2009 Geschrieben 16. November 2009 (bearbeitet) Hi Leute, also ich sitz seit einer Zeit an einem kleinen Problem. und zwar schreibt mein Programm daten in eine .csv datei, liest diese auch ein und so weiter, das funktioniet auch alles einwandfrei. Suche geht auch, aber wenn ich jetzt will, das das Prog den eingegebenen Begriff in der Datei sucht und dann löscht, steh ich vor einen Rätsel. Also vllt noch mal zum bessern Verständnis ==> 1. Begriff eingeben 2. Programm durchsucht Datei nach dem Begriff 3. Gibt es den Begriff, soll die gesamte Zeile gelöscht werden. Ich hab echt keine Ahnung, wie ich das anstellen soll. Achja und bitte nicht zu wissenschaftlich. Kenn mich zwar ein bisschen aus, aber bin dann doch kein gelerner Anwendungsentwickler. :mod: Vielen Dank für eure Hilfe Edit: es handelt sich dabei um c# Bearbeitet 16. November 2009 von Serious_der_Penner was vergessen Zitieren
Rekon1602 Geschrieben 17. November 2009 Geschrieben 17. November 2009 Hallo Also so spontan aus dem Bauch heraus würde ich wie folgt vorgehen: 1. Datei zeile für zeile einlesen 2. Bei jeder zeile überprüfen, ob der gesuchte begriff enthalten ist -> wenn nein: Zeile in einen string schreiben -> wenn ja: nichts mache 3. string in datei schreiben In Quellcode ausgedrückt: string line = ""; string erg = ""; StreamReader sr = new StreamReader(path); while ( (line = sr.ReadLine()) != null) { if( line != gesuchterBegriff) { erg += line + "\n"; } } sr.Close(); GC.WaitForPendingFinalizers(); //und dann halt wieder alles schreiben Zitieren
Serious_der_Penner Geschrieben 19. November 2009 Autor Geschrieben 19. November 2009 das würde heißen, datei einlesen jede zeile, die en Begriff nicht enthält in ein array oder liste und dann das wieder in die datei? versteh ich das richtitg? kling gut. andere möglichkeiten gibt es nicht? aber trotzdem thx Zitieren
Rekon1602 Geschrieben 19. November 2009 Geschrieben 19. November 2009 jupp, verstehst du richtig also mir würd grad keine einfallen... Zitieren
Argbeil Geschrieben 23. November 2009 Geschrieben 23. November 2009 Naja, es gibt kleine Variationen, du kannst du auch erst die komplette Datei in ein Array einlesen, dann über die gesamte Datei In-Memory laufen, die entsprechenden Einträge entfernen und dann die komplette Datei wieder speichern, aber das ist Speicherintensiv und nicht unbedingt schneller. Zitieren
TDM Geschrieben 23. November 2009 Geschrieben 23. November 2009 Man könnte es auch über Word (/Excel) suchen lassen, ob vorhanden... Aber das gefällt mir selber nicht wirklich. :floet: Zitieren
HJST1979 Geschrieben 23. November 2009 Geschrieben 23. November 2009 Ich hätte noch einen anderen Vorschlag: 1. Datei kopieren 2. Original löschen 3. Leere Datei mit Originalnamen erstellen 4. Kopie -> Zeile einlesen 5. Prüfen 6.1 Wenn Suchbegriff nicht vorhanden dann Zeile in "neue" Datei schreiben Gruß Hans-Jörg Zitieren
Serious_der_Penner Geschrieben 27. November 2009 Autor Geschrieben 27. November 2009 Hi, danke Leute, sry hatte jetzt wenig zeit die letzen tage, aber sind einige gute tips dabei und ich werd mich dann jetzt mal dran machen. also thx :uli Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.