zweimal einen array splitten aber wie

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Unwesen.

    zweimal einen array splitten aber wie

    hey

    ich habe ein stück textdatei geschrieben und als txt abgespeichert....
    nun habe ich mit einem split befehl eine zeile auslesen lassen .... (diese variert in der verwendung meinen progs)
    diese zeile sieht zum beispiel so aus :

    "!nein;no!"

    ich habe im ersten split befehl ..... .split("!")

    nun möchte ich das er jeweils das erste wort raussplittet... ..... .split(";")

    aber er zeigt mir eine überladung an

    danke für euere hilfe
    Probier mal

    VB.NET-Quellcode

    1. txt.Split(";"c) ' Char, nicht String
    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!
    Ein Beispiel, das sortiert den Text in 3 Listboxen (zur Übersicht).

    VB.NET-Quellcode

    1. Dim Text As String = "Ja;Yes!Nein;No!Vielleicht;Maybe!Schwarz;Black"
    2. Dim Split1() As String = Text.Split("!"c)
    3. For i As Integer = 0 To Split1.Length - 1
    4. lstBegriffeGesamt.Items.Add(Split1(i))
    5. lstBegriffeDeutsch.Items.Add(Split1(i).Substring(0, Split1(i).IndexOf(";")))
    6. lstBegriffeEnglisch.Items.Add(Split1(i).Substring(Split1(i).IndexOf(";") + 1, Split1(i).Length - Split1(i).IndexOf(";") - 1))
    7. Next
    Bilder
    • Bild2.png

      4,31 kB, 424×104, 157 mal angesehen
    Die Dimension von Split1() ist Null. Überzeuge Dich, dass korekt ge-Splittet wird und fange einen Null-Split ab.
    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!
    Vermutlich ist dein String falsch strukturiert. Ich denke bei dir steht etwas wie "!Ja;Yes!Nein;No!Vielleicht;Maybe!Schwarz;Black" oder "Ja;Yes!Nein;No!Vielleicht;Maybe!Schwarz;Black!"
    Also vor dem ersten, oder hinter dem letzten Wort sollte kein Trennzeichen (!) stehen.

    Wenn du den String vom Programm aus so zusammenstellst, kannst du ja vorher noch prüfen, ob er mit ! beginnt oder endet und das Zeichen dann entfernen.

    Spoiler anzeigen

    VB.NET-Quellcode

    1. If Text.StartsWith("!") Then
    2. Text = Text.Remove(0,1) 'Erstes Zeichen entfernen
    3. End If
    4. If Text.EndsWith("!") Then
    5. Text = Text.Remove(Text.Length - 1, 1) 'letztes Zeichen entfernen
    6. End If

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