Andere Art von Split

    • VB.NET

      Andere Art von Split

      VB.NET-Quellcode

      1. Public Function bSplit(ByVal Str As String, ByVal Delim As String) As String()
      2. Dim InStrx As Boolean = False, _
      3. Count As Integer = 0, _
      4. Spl(0) As String, _
      5. HatEintrag As Boolean = False
      6. For i As Integer = 1 To Len(Str)
      7. If InStrx = False Then
      8. If Mid(Str, i, Len(Delim)) = Delim Then
      9. Count += 1
      10. ReDim Preserve Spl(Count)
      11. End If
      12. End If
      13. If Mid(Str, i, 2) = Chr(34) & Chr(34) Then
      14. i = i + 2
      15. HatEintrag = True
      16. Spl(Count) = ""
      17. End If
      18. If Mid(Str, i, 1) = Chr(34) Then
      19. If InStrx = False Then
      20. HatEintrag = True
      21. i = i + 1 : InStrx = True
      22. Else
      23. InStrx = False
      24. End If
      25. End If
      26. If InStrx = True Then
      27. Spl(Count) = Spl(Count) & Mid(Str, i, 1)
      28. End If
      29. Next i
      30. Return Spl
      31. End Function


      Diese Variante von Split soll Werte genau so wie das Original zerlegen , jedoch werden Trennzeichen die zwischen Text Werten als " "
      nicht beachtet sprich, ich möchte nun diesen Text zerlegen :

      "Hallo, Welt","Guten Tag , meine Name ist..."

      nun wird Hallo Welt mit dem Komma zurückgegeben un der darauf folgende Teil auch jedoch sind es 2 Werte nur das das Komma
      das sie trennt außerhalb eines Text Wertes liegt ( Blau Markierte Komma )

      Ich habe die Funktion mal gebastelt da ich das Komma als Trennzeichen nutzen wollte jedoch Kommas in den Zwischen Werten enthalten waren