vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Sortieren von Strings mit zwei- und dreistelligen Zahlen 
Autor: hit123
Datum: 16.03.23 17:53

Hallo zusammen,

ich hänge gerade an einem Problem bei dem ich nicht weiterkomme. Ich habe eine "List of String" die
Werte wie "0-15", "210-25" und "22-68" enthält. Wenn ich die sortiere, kommt am Ende die Reihenfolge
"0-15", "210-25" und "22-68" heraus.

Gibt es irgendeine Möglichkeit das einfach und richtig zu sortieren, so dass am Ende die Reihenfolge
"0-15", "22-68" und "210-25" herauskommt?

Gibt es da eine einfache Lösung dafür oder muss ich hier mit "Bubble-Sort" arbeiten?

Danke für eure Tipps und Hilfe
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Sortieren von Strings mit zwei- und dreistelligen Zahlen 
Autor: emaNoN
Datum: 16.03.23 20:52

Vlt. hilft folgendes:
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
 
        Dim test As New List(Of String)
        Dim test2 As New List(Of String)
 
        test.Add("0-15")
        test.Add("210-25")
        test.Add("22-68")
 
        For Each value In test
 
            test2.Add(Format(CInt(Strings.Left(value, InStr(value, "-") - 1)), _
              "000“) & "-" &
                Format(CInt(Replace(value, Strings.Left(value, InStr(value, _
                "-")), "")), "000"))
 
        Next
 
        test2.Sort()
 
        For Each value In test2
 
            Debug.Print(value)
 
        Next
 
    End Sub
Ausgabe:
000-015
022-068
210-025
Oder wenn du die Original-Strings haben möchtest:
        For Each value In test2
 
            value = CInt(Strings.Left(value, 3)).ToString & "-" & CInt( _
              Strings.Right(value, 3)).ToString
            Debug.Print(value)
 
        Next
Ausgabe:
0-15
22-68
210-25


Beitrag wurde zuletzt am 16.03.23 um 21:12:28 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2023 [email protected] Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel