.netvb.netstringsplit.net-1.1

How to split a string into a fixed length string array?


I have a long string like this

dim LongString as String = "123abc456def789ghi"

And I want to split it into a string array. Each element of the array should be in 3 characters length

For example,

Dim LongArray(5) As String
LongArray(0)  = "123"
LongArray(1)  = "abc"
LongArray(2)  = "456"
LongArray(3)  = "def"
LongArray(4)  = "789"
LongArray(5)  = "ghi"

How do I split it using VB.net code?


Solution

  • This could work.

     Module Module1
    
        Sub Main()
            Dim LongString As String = "123abc456def789ghi"
            Dim longlist As New List(Of String)
            For i As Integer = 0 To Convert.ToInt32(LongString.Length / 3) - 1
                longlist.Add(LongString.Substring(i * 3, 3))
            Next
            For Each s As String In longlist
                Console.WriteLine(s)
            Next
            Console.ReadLine()
        End Sub
    
    End Module
    

    And this should work in .Net 1.1

    Module Module1
    
        Sub Main()
            Dim LongString As String = "123abc456def789ghi"
            Dim longlist(Convert.ToInt32(LongString.Length / 3) - 1) As String
            For i As Integer = 0 To Convert.ToInt32(LongString.Length / 3) - 1
                longlist(i) = (LongString.Substring(i * 3, 3))
            Next
            For i As Integer = 0 To Convert.ToInt32(LongString.Length / 3) - 1
                Console.WriteLine(longlist(i))
            Next
            Console.ReadLine()
        End Sub
    
    End Module