Text Splitten

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von user44.

    Text Splitten

    Guten Tag liebe Community,
    ich bin besitzer eines Minecraft Servers und möchte nun ein Tool schreiben, welches aus einem .yml Dokument Usernamen mit den dazugehörigen Gruppen ausließt und einfügen kann. Die Gruppen stehen wie der Name schon sagt nach "groups:".Das Dokument besitzt folgendes Schema:

    Quellcode

    1. users:
    2. Username1:
    3. permissions:
    4. groups:
    5. - Operator
    6. Username2:
    7. permissions:
    8. groups:
    9. - Operator
    10. Username3:
    11. permissions:
    12. groups:
    13. - Admin
    14. Username4:
    15. permissions:
    16. groups:
    17. - Default
    18. Username5:
    19. permissions:
    20. groups:
    21. - Default


    Nun habe ich mir gedacht, den Text einfach zu Splitten; doch wie geht in diesem Schema? Übrigends: Die Usernamen heißen nicht wie oben "Username1, .." sondern sind einfach Nicknames.

    Ich hoffe ihr könnt mir helfen.

    MfG user44
    hmm grundsätzlich wäre es natürlich besser sowas in xml zu machen aber, da es vom minecraft server kommt gibt es die möglichkeit leider nicht.
    Von dem her musst du dir fast String.Split anschauen.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.

    SystemUnknow schrieb:

    - text zeilen weise auslesen ( foren suche)
    - bestimmte infos anzeigen (string funktionen findest in openbooks)


    Ich denke nicht, dass es so Funktioniert, da das Schema auch so aussehen kann:

    Quellcode

    1. users:
    2. Username1:
    3. permissions:
    4. groups:
    5. - Operator
    6. - Mitglied
    7. Username2:
    8. permissions:
    9. - test2
    10. groups:
    11. - Operator
    12. Username3:
    13. permissions:
    14. groups:
    15. - Admin
    16. Username4:
    17. permissions:
    18. - test
    19. groups:
    20. - Default


    Hier wurden noch permissions und weitere Gruppen hinzugefügt.

    Und wie kann ich diese Bestimmten Infos filtern bzw. wie kann ich die Usernamen Splitten?

    MfG user44
    Ich würde hier einen StreamReader verwenden und Zeilenweise einlesen und diese dann interpretieren, bzw. evtl. sogar Zeichenweiße, dann kannst du die Performance optimieren und schön die Tiefe feststellen ;)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    So, hab es nun geschafft alle Usernamen auszulesen. Habe dies zwar nicht professionell und bestimmt umständlich gemacht aber hier die funktionierende Lösung:

    VB.NET-Quellcode

    1. For Each Line As String In System.IO.File.ReadAllLines("pfad")
    2. If Line.StartsWith(" ") And Line.EndsWith(":") And Not Line.StartsWith(" ") Then
    3. Dim str1 As String = Line
    4. Dim str2 As String = ""
    5. str2 = Line.Replace(" ", "")
    6. TextBox1.Text += str2 & vbNewLine
    7. End If
    8. Next

    jvbsl schrieb:

    Ich würde hier einen StreamReader verwenden und Zeilenweise einlesen und diese dann interpretieren, bzw. evtl. sogar Zeichenweiße, dann kannst du die Performance optimieren und schön die Tiefe feststellen ;)


    Danke für deine Antwort, aber irgentwie kapiere ich nicht, was genau du damit meinst bzw. wie du vorgehen willst.

    Diesbezüglich noch ein paar Fragen:
    Wie kann man erkennen, welche Permissions und Groups zu welchem Usernamen gehören?
    Wie kann ich die Usernamenrausfiltern? Vor einem Usernamen sind immer 4 Leerzeichen. Mit StartsWith und Contains geht es leider nicht, weil alle anderen ja auch min. 4 Leerzeichen davor haben.

    Und YAML verstehe ich irgentwie nicht, würde das doch lieber gerne über VB auslesen.

    Bitte helft mir... ich komm nicht weiter :(