Text aus einer Textdatei korrekt Splitten

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von magicced01.

    Text aus einer Textdatei korrekt Splitten

    Hallo, ich habe ein kleines Problem.
    Beim drücken eines Buttons einer Form läuft folgender Code ab:

    VB.NET-Quellcode

    1. OpenFileDialog1.ShowDialog()
    2. Dim filename As String = OpenFileDialog1.FileName
    3. If System.IO.File.Exists(filename) Then
    4. Dim reader As New System.IO.StreamReader(filename)
    5. Dim txt As String = reader.ReadToEnd
    6. Dim cmdsplit As String() = txt.Split(vbNewLine)
    7. Dim psplit As String()
    8. For Each str As String In cmdsplit
    9. psplit = str.Split(CChar(":"))
    10. Next


    Ich versuche eine Textdatei auszulesen.
    In der Textdatei gibt es mehrere Zeilen im Format "test:hallo"
    Dass mir der Text nach jeder neuen Zeile gesplittet und in ein Array gespeichert klappt schonmal, jedoch
    wird bei der unteren For-Schleife immer nur der letzte String gesplittet.
    Hat jemand eine Idee was ich falsch gemacht habe?
    Willkommen im Forum. :thumbup:

    magicced01 schrieb:

    gemacht habe
    Probier mal dies:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. If OpenFileDialog1.ShowDialog <> Windows.Forms.DialogResult.OK Then
    3. ' Abbruch -> raue
    4. Return
    5. End If
    6. ' Alle Zeilen in ein Array lesen
    7. Dim cmdsplit() = IO.File.ReadAllLines(OpenFileDialog1.FileName)
    8. For Each str As String In cmdsplit
    9. ' Jede Zeile des Arrays splitten
    10. Dim psplit() = str.Split(":"c)
    11. ' den 1. Teil ausgeben
    12. MessageBox.Show(psplit(0))
    13. Next
    14. 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!

    magicced01 schrieb:

    einfallen
    Das Array psplit hat hoffentlich nicht nur den Index 0. ;)
    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!