Veröffentlicht 16. November 200915 j 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 200915 j von Serious_der_Penner was vergessen
17. November 200915 j 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
19. November 200915 j 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
23. November 200915 j 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.
23. November 200915 j Man könnte es auch über Word (/Excel) suchen lassen, ob vorhanden... Aber das gefällt mir selber nicht wirklich. :floet:
23. November 200915 j 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
27. November 200915 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.