Text "splitten" und in Array packen

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von MacCoremag.

    Text "splitten" und in Array packen

    Hallo Leute,

    ich würde gerne einen Text splitten, der sich in einer Listbox befindet; der Text sieht so aus:

    Quellcode

    1. Vorname;Nachname;...


    und den dann in 2 Arrays packen. D.h. alle Vornamen sollen in das Array vname() und alle Nachnamen aus der Listbox in das Array nname()

    Finde leider keinen Ansatz dafür :(


    Danke im Vorraus!!!
    Das ist wirklich sehr simpel:
    msdn.microsoft.com/de-AT/library/6x627e5f%28v=vs.90%29.aspx

    Splitte einfach nach dem Zeichen ";".
    stackoverflow.com/questions/11118896/vb-net-split-string-by
    etc. zeigen wie es gehen kann.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Ich poste hier mal meinen gesamten SC:

    VB.NET-Quellcode

    1. OpenFileDialog1.ShowDialog()
    2. Dim path As String = OpenFileDialog1.FileName
    3. Dim fs As New System.IO.StreamReader(path)
    4. Dim a As New RichTextBox
    5. a.Text = fs.ReadToEnd
    6. For i As Integer = 0 To a.Lines.Count - 1
    7. ListBox1.Items.Add(a.Lines(i)) 'alles vor dem ;
    8. 'ListBox2.Items.Add(a.Lines(i)) *alles nach dem ;
    9. Next i
    10. Label3.Text = ListBox1.Items.Count
    11. fs.Close()


    Ich will es jetzt nicht mehr in 2 Arrays, sondern in 2 Listboxen, weil es für den Rest des Programms dadurch einfacher wird.
    So wie es jetzt ist, wird alles in die Listbox ein geschrieben. Ich weiß nicht wo ich das Split setzen muss und wie es auszusehen hat. Wäre nett wenn mir das jemand verraten kann

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

    Den Vor- und Nachnamen kann man hier am besten mit dem "MOD" Operator herausfinden:

    VB.NET-Quellcode

    1. Dim namen As String() = "Bla;Bla2".split(";"c)
    2. For i As Integer = 0 To namen.Length
    3. IF i MOD 2 = 0 Then
    4. 'Vorname
    5. ListBox1.Items.Add(namen(i))
    6. Else
    7. 'Nachname
    8. ListBox2.Items.Add(namen(i))
    9. End IF
    10. Next i


    Der MOD Operator teilt "i" durch 2 und gibt den Rest aus.
    Wenn i gerade ist (Mod = 0), ist es in Vorname, andernfalls ein Nachname.

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

    Danke erstmal!

    Aber leider entsteht noch ein Error:

    VB.NET-Quellcode

    1. OpenFileDialog1.ShowDialog()
    2. Dim path As String = OpenFileDialog1.FileName
    3. Dim fs As New System.IO.StreamReader(path)
    4. Dim namen As String() = fs.ReadToEnd.Split(":"c)
    5. For i As Integer = 0 To namen.Length
    6. If i Mod 2 = 0 Then
    7. ListBox1.Items.Add(namen(i))
    8. Else
    9. ListBox2.Items.Add(namen(i)) 'Hier entsteht der Fehler
    10. End If
    11. Next i
    12. Label3.Text = ListBox1.Items.Count
    13. fs.Close()


    Quellcode

    1. Der Index war außerhalb des Arraybereichs.