VB.NET-Quellcode
- Public Function bSplit(ByVal Str As String, ByVal Delim As String) As String()
- Dim InStrx As Boolean = False, _
- Count As Integer = 0, _
- Spl(0) As String, _
- HatEintrag As Boolean = False
- For i As Integer = 1 To Len(Str)
- If InStrx = False Then
- If Mid(Str, i, Len(Delim)) = Delim Then
- Count += 1
- ReDim Preserve Spl(Count)
- End If
- End If
- If Mid(Str, i, 2) = Chr(34) & Chr(34) Then
- i = i + 2
- HatEintrag = True
- Spl(Count) = ""
- End If
- If Mid(Str, i, 1) = Chr(34) Then
- If InStrx = False Then
- HatEintrag = True
- i = i + 1 : InStrx = True
- Else
- InStrx = False
- End If
- End If
- If InStrx = True Then
- Spl(Count) = Spl(Count) & Mid(Str, i, 1)
- End If
- Next i
- Return Spl
- 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