Function To Split By String Rather Just A Charactor In VB.Net

by wizbay 10. September 2010 02:51

Built-in "split" function in visual studio only allows a single charactor as delimeter.

Use this method to use string as a delimeter rather than a single charactor.

 

 'Split string with a string delimeter rather than just a charactor.
    Shared Function SplitByString(ByVal splitString As String, ByVal delimeter As String)
        Dim offset As Int16
        Dim index As Int16
        Dim offsets(splitString.Length) As Integer
        While index < splitString.Length
            Dim indexOf As Int16
            indexOf = splitString.IndexOf(delimeter, index)
            If indexOf <> -1 Then
                offsets(offset) = indexOf
                offset += 1
                index = (indexOf + delimeter.Length)
            Else
                index = splitString.Length
            End If
        End While
        Dim final(offset) As String
        If offset = 0 Then
            final(0) = splitString
        Else
            offset += -2
            final(0) = splitString.Substring(0, offsets(0))
            Dim i As Int16
            For i = 0 To offset
                final(i + 1) = splitString.Substring(offsets(i) + delimeter.Length, offsets(i + 1) - offsets(i) - delimeter.Length)
            Next
            final(offset + 2) = splitString.Substring(offsets(offset + 1) + delimeter.Length)
        End If
        Return final
    End Function

Tags: , , , ,

Comments are closed