In String Zeilen auswählen

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Max1001.

    In String Zeilen auswählen

    Hallo!
    Ich downloade mir per Net.WebClient den Inhalt einer .txt Datei.

    VB.NET-Quellcode

    1. Dim Inhalt As String = WC.DownloadString("ftp://--/--/--/datei.txt")

    Diese Datei überprüfe ich auf eine bestimmte Zeichenfolge

    VB.NET-Quellcode

    1. If Inhalt.Contains("ABCDE") Then
    2. --
    3. End if

    Wenn die Zeichenfolge gefunden wurde, möchte ich die gesamte Zeile mit der Zeichenfolge in einem String speichern, eventuell auch noch die Zeile davor und die Zeile danach.
    Ich habe die Funktion ReadLine gefunden, allerdings habe ich 0 Plan wie ich diese hier richtig anwenden kann.
    Pls help!
    @ErfinderDesRades: Google!

    @singu:
    Mit

    VB.NET-Quellcode

    1. Inhalt = Split(Inhalt)

    würde es denke ich gehen, aber wird hierbei nicht jedes einzelne Wort in eine neue Zeile geschrieben?

    ---

    Noch eine Frage:
    Ist

    VB.NET-Quellcode

    1. Dim Inhalt As String = WC.DownloadString("ftp://--/--/--/datei.txt")


    dieser String, angenommen der Inhalt der .txt ist
    "
    Hallo
    Test1
    Zweiter Test
    "
    dann
    "Hallo Test1 Zweiter Test"
    also ohne Absätze in einer langen Kette?
    Hab jetzt ein bisschen herumprobiert und ich glaube ich habe etwas gefunden k.A ob es funktioniert aber hier:

    VB.NET-Quellcode

    1. Dim lines() As String = Inhalt.Split(vbCrLf)
    2. Dim a As Byte = 0
    3. Do
    4. If lines(a).Contains("MeinText") Then
    5. GoTo weitergehen
    6. End If
    7. a = a + 1
    8. Loop Until lines(a) = ""
    9. weitergehen:
    10. Richtextbox1.text = lines(a - 1) & lines(a) & lines(a + 1)


    Der Inhalt wird auf einzelne Zeilen aufgesplittet.
    Jetzt eine Schleife:
    Wenn die derzeitige Linie meinen Bedingungestext enthält, dann soll diese Linie, die Linie davor und die danach in eine Richtextbox geschrieben werden, sonst wird die a um 1 erhöht und somit im nächsten Durchgang die nächste Zeile geprüft.
    Ist jetzt bestimmt ein bisschen umständlich, auch wenn dieses jetzt funktionieren sollte,
    kennt jemand eine elegantere Lösung?

    :::::

    hat leider nicht funktioniert der Index liegt außerhalb des Arraybereiches :(

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Max1001“ ()

    singu schrieb:

    In jedem Eintrag der Variablen Lines befindet sich eine Zeile der Textdatei
    hierzu:
    Bei
    Inhalt.Split(vbCrLf)
    ist bei mir
    lines(0)
    der gesamte Inhalt der Textdatei!!
    Hab ich was falsch gemacht?
    lines(0) sollte die erste, lines(1) die zweite Zeile sein, schon bei lines(1) kommt ne Fehlermeldung und der Text in der .txt ist
    garantiert ein mehrzeiliger!

    -ERLEDIGT!-

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Max1001“ ()

    bin jetzt hat sich das meiste erledigt noch kurze Frage:

    VB.NET-Quellcode

    1. Dim ab As String = "Beantragt."
    2. uploaddaten = downloaddaten & lines(a + 1) = ab
    3. WC.UploadString("ftp://--.--.--/bans.txt",daten)


    Ich möchte per Uploadstring die selbe Datei wieder hochladen, allerdings soll die Zeile nach meiner Bedingung in "Beantragt" geändert werden!
    So gehts nicht, hat vielleicht wer eine Idee?