Wort nach bestimmten Wort auslesen klappt nicht

  • VB.NET

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

    Wort nach bestimmten Wort auslesen klappt nicht

    Hi.

    Ich möchte gerne das Wort nach "/Spieler " auslesen.

    Dachte es geht so, weil es bis jetzt immer ging:

    VB.NET-Quellcode

    1. Dim txt As String = TextBox1.Text
    2. Dim Spieleranzahl As String = txt.Split(CChar("/Spieler "))(1)
    3. Label10.Text = Spieleranzahl


    Sonst war es ja so:


    VB.NET-Quellcode

    1. Dim txt As String = TextBox1.Text
    2. Dim Spieleranzahl As String = txt.Split(CChar(" "))(1)
    3. Label10.Text = Spieleranzahl


    Aber diesmal muss es das Wort nach "/Spieler " aussuchen.

    Leider gibt mir das Label nicht die Anzahl der Spieler aus, sondern "Spieler".

    Was soll ich machen?

    VB.NET-Quellcode

    1. Dim txt As String = TextBox1.Text
    2. Dim Spieleranzahl As String = txt.Split(CChar(" "))(2) '' Hier die 2
    3. Label10.Text = Spieleranzahl


    funktioniert nicht.

    Danke :)

    Mfg. TGS
    Was denkst Du, was diese MessageBox anzeigt? Dann denk mal über das Ergebnis nach.

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Dim c As Char = CChar("/Spieler")
    3. MessageBox.Show(c.ToString())
    4. End Sub


    Schau Dir die Überladungen der Split-Funktion mal an, da gibts auch eine, die ein String-Array annimmt.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o

    TheGameSiders schrieb:

    Klappt leider nicht..

    Dann weiß ich nicht, was du willst. Wenn ich als test "blub test /Spieler aa bb cc" eingeben, dann bekomme ich "aa" zurück und das ist meiner Meinung nach das Wort nach "/Spieler".

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

    Nach langem probieren gehts immernoch nicht!
    Wenn ich eine einzeilige Textbox nehme klappt es. bei meiner aber nicht:



    Immer wird mir "Test" ausgegeben..

    Ich hoffe jemand kann da noch helfen, oder mir eine alternative nennen..
    Danke.

    Mfg. TGS
    Hi
    verstehst du die Codes eigentlich, die du tippst? Ich würde sagen, du probierst das jetzt mal selber aus und keiner postet mehr eine Lösung. Die nötigen Hints hast du hier und in vergangenen Beiträgen ja eigentlich schon bekommen. Versuche mal eine Vorgehensweise unter folgenden Sachen zu finden:
    - String.Split, ggf. String.StartsWith
    - Linefeed
    - If, For Each
    - Index-basierter Zugriff bei Array
    - dict.cc, msdn/Objektexplorer/IntelliSense

    Das sollte soweit eigentlich genügen, um das aufgezeigte Problem zu bearbeiten. Du musst einfach strukturierend an das Problem herangehen. Erkenne die Struktur des Textes, verstehe, was was bedeutet und wie du an die Einzelteile herankommst, was für Sonderfälle eintreten und wie sich Fälle von anderen Fällen abgrenzen. Danach versuche die einzelnen Probleme durch die dir bekannten bzw. in dem Fall von mir oben genannten Funktionen umzusetzen. Wichtig ist auf jeden Fall, dass du dein Problem in Teilprobleme zerlegst und diese Teilprobleme einzeln betrachtest und ein Gefühl dafür bekommst, was du wie tust und was dahintersteckt, wie die Überladungen von Methoden aussehen und wie dadurch das Ergebnis beeinflusst wird, etc.

    Gruß
    ~blaze~
    Meinst du so ???



    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. For Each a In TextBox1.Lines
    3. b = CStr(a.Split(CChar(" "))(2))
    4. ListBox1.Items.Add(CStr(b))
    5. Next
    6. End Sub


    Das nächst währe dann ein bestimmtes Wort zu suchen ,dessen Position zu ermitteln und dann +1

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