Split/Parse String

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Gutserino.

    Split/Parse String

    Hallo Forum,

    ich bin mit den ganzen Split/Join/Parse funktionen immernoch etwas überfordert :D Und versuche derzeit
    einen bestimmten Part aus einem Output zu bekommen

    Den Output den ich bekomme sieht dann zb so aus

    Quellcode

    1. Extracting ConsoleApplication1\ConsoleApplication1.suo 99% OK


    Das ganze hab ich jetzt hiermit gesplittet

    VB.NET-Quellcode

    1. Dim lineoftext As String
    2. Dim s As String = "Extracting ConsoleApplication1\ConsoleApplication1.suo 99% OK"
    3. Dim words As String() = s.Split(New Char() {" "c})
    4. Dim word As String
    5. For Each word In words
    6. lineoftext = word + lineoftext
    7. TextBox2.Text = lineoftext
    8. Next


    Als Ergebnis bekomme ich dann das hier

    Quellcode

    1. OK99%ConsoleApplication1\ConsoleApplication1.suoExtracting


    Ich würde gerne nur die zwei Zahlen dort als Ausgabe bekommen die "99" zwischen OK und %

    Danke im voraus
    Kommt drauf an was du genau machen willst, aber das wäre sicher eine Möglichkeit

    VB.NET-Quellcode

    1. Dim s As String = "Extracting ConsoleApplication1\ConsoleApplication1.suo
    2. Dim words = s.Split(New Char() {" "c}, StringSplitOptions.RemoveEmptyEntries)
    3. Array.Reverse(words)
    4. words = Enumerable.Range(0, 2).Select(Function(x) words(x)).ToArray
    5. Console.WriteLine(String.Join(" "c, words))


    Freundliche Grüsse

    exc-jdbi
    Die String-Funktionen sagte der TE schon das er sie nicht beherscht, dann gleich so?

    Ein wenig länger, aber einfacher gestrickt. Verzeit die redundante Bedingung. Wollte es einfach halten.

    VB.NET-Quellcode

    1. Dim str As String = "Extracting ConsoleApplication1\ConsoleApplication1.suo 1% OK "
    2. Dim index As Integer = str.LastIndexOf("%"c) ' gibt -1 zurück wenn % nicht im String
    3. If index <> -1 Then
    4. Dim res As String = str.Substring(index - 3, 3) 'res ist nun ab 3 zeichen vorm prozent, 3 chars lang , sozusagen geschnitten
    5. If String.IsNullOrWhiteSpace(res(0)) Then 'der erste char kann ein leerzeichen sein, wie auch der 2. , haben ja eine range von 0 - 100
    6. res = res.Substring(1) 'führende whiteespaces entfernen
    7. End If
    8. If String.IsNullOrWhiteSpace(res(0)) Then
    9. res = res.Substring(1)
    10. End If
    11. 'res hat nun die Zahl als string
    12. End If

    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    „Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren.“
    Benjamin Franklin

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

    @Gutserino Ist Dir das nicht einen Klick auf den Hilfreich-Button für @NoIde wert?
    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!

    simpelSoft schrieb:

    Oder vielleicht als EInzeiler:
    Da kannst Du doch schneller das Split-Resultat direkt aufschreiben. ;)
    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!