Textstring suchen in .txt Datei und Zeile dann in neues .txt File kopieren

  • VB6

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von farip.

    Textstring suchen in .txt Datei und Zeile dann in neues .txt File kopieren

    Hallo zusammen,

    Ich bin noch ein Grünschnabel und bin mir auch nicht sicher, ob mein Eintrag hier im richtigen Bereich ist. Was ich machen möchte ist ein kleines Skript schreiben in Visual Basic, welches mir eine .txt Datei durchsucht nach einem Textstring und anschliessend, falls dieser Textstring gefunden wurde, die Zeile in der dieser Textstring steht, kopiert und in ein neues .txt File einfügt.

    Ich bin absoluter Programmieranfänger, kann zwar den Code oft nachvollziehen, aber auf die Idee wie zu progammieren komme ich oft nicht.

    Hier eine kleine Idee meinerseits:
    1. Mit einer Schleife durch die Quell-Datei gehen
    2. Nach Textstring in jeder Zeile suchen (Wie suche ich zeilenweise?)
    4. Falls Textstring gefunden wurde, diese Zeile in die Zieldatei schreiben (Wie kann ich sagen 'kopiere ganze Zeile'?). Falls Nein, tue nichts.
    5. Wenn am Ende angekommen, springe aus Schleife.

    Ich bin euch für jede Hilfe dankbar!

    Beste Grüsse

    farip
    @farip Willkommen im Forum. :thumbup:
    Du hast eine präzise Aufgabenstellung formuliert, das gefällt mir.
    Hier ist die Lösung:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. For Each line In IO.File.ReadLines("c:\Temp\Datei1.txt") ' die Datei zeilenweise auslesen
    3. If line.Contains("bla") Then ' testen, ob der Zieltext in dieser Zeile vorkommt
    4. 'MessageBox.Show("vorhanden") ' ggf. Testausgabe
    5. IO.File.AppendAllText("c:\Temp\Datei2.txt", line & Environment.NewLine) ' diese Zeile an das Ende einer anderen Datei anhängen
    6. End If
    7. Next
    8. MessageBox.Show("feddich")
    9. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo RodFromGermany

    Ist ja SUPER! Besten Dank!
    Wie müsste ich das Programm nun erweitern, wenn ich folgende Erweiterungen machen möchte:
    1. Button, wo ich das Quellfile auswählen kann (c:\Temp\Datei1.txt)
    2. Text nach dem gesucht werden soll (bla)
    3. Button für Zielfile (BSP: c:\Temp\Datei2.txt)

    Gruss
    farip
    1 & 3 dafür solltest du dir den OpenFileDialog anschauen und für 2 würde ich ne TextBox nehmen.

    Für den OpenFileDialog gibt es mehrere Beispiele.

    Wenn du nicht weiter kommst kannst du ja nochmal schreiben.
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
    Ich mach dir gerade n runterladbares Beispiel, dann kannst du dir das mal anschauen und bitte dann Fragen stellen ;)..

    Sekunde.

    EDIT:
    Ist als Dateianhang angefügt, ich hoffe du hast Winrar o.ä.

    Habs jetzt nicht großartig getestet, aber sollte gehen.
    Dateien
    • ofd delete.rar

      (73,96 kB, 135 mal heruntergeladen, zuletzt: )
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..

    farip schrieb:

    diese zwei OpenfileDialoge
    brauchst Du nicht.
    Die deklarierst Du da, wo Du sie brauchst:

    VB.NET-Quellcode

    1. Using dlg As New OpenFileDialog
    2. If dlg.ShowDialog <> Windows.Forms.DialogResult.OK Then
    3. Return
    4. End If
    5. MessageBox.Show(dlg.FileName)
    6. End Using
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!