Zahlen aus String auslesen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von oli-f.

    Zahlen aus String auslesen

    Hallo,
    wie kann ich aus einer Variablen des Types String drei aufeinanderfolgende Zahlen auslesen und in einer Variablen des Types String speichern.

    z.b. Diesistdas124teVerzeichnis -> 124

    Besten Dank im voraus.


    Gruss TODuke
    Gehe den String Zeichen für Zeichen durch und prüfe, ob es sich um eine Zahl handelt (Char.IsNumber()). Wenn ja, füge das Zeichen an einen neuen String an.
    Falls die Strings eine gemeinsames Muster haben, könnte man sich evtl. auch ein Regex basteln.

    Viele Grüße, Phil.
    i.O.
    Überwache, ob zwischen Ziffern noch andere Zeichen stehen:
    Diesistdas124teVerzeichnis -> 124
    Diesistdas1aa2ss4teVerzeichnis -> 124 oder 1, 2, 4
    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!

    VB.NET-Quellcode

    1. Dim demostr As String = "8iesistdas124teVerzeichnis1s5s8"
    2. Dim values As New List(Of Integer)
    3. For i = 0 To demostr.Length - 1
    4. If IsNumeric(demostr.Substring(i, 1)) Then
    5. If i = 0 Then
    6. values.Add(CInt(demostr.Substring(i, 1)))
    7. Else
    8. If IsNumeric(demostr.Substring(i - 1, 1)) Then
    9. values(values.Count - 1) = values(values.Count - 1) * 10 + CInt(demostr.Substring(i, 1))
    10. Else
    11. values.Add(CInt(demostr.Substring(i, 1)))
    12. End If
    13. End If
    14. End If
    15. Next
    16. For Each item In values
    17. MsgBox(item)
    18. Next


    etwas unsauber und warsch umständlich, aber es funktioniert...