Search code examples
vb.netstring-parsing

Parsing String into an Array (VB)


I have tried to make a program that would parse a raw list from Chrome://policy (input by RichTextbox) into a text array, then dump it into another RichTextbox. All of the raw string are exactly 32 characters long, followed by a comma. Here is the code:

Public Class Form1
    Dim tempExt As String
    Dim extsHandled As Integer
    Dim numOfExts As Integer
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If RichTextBox1.Text = "" Then
            MsgBox("Please enter the raw extensions from Chrome://policy")
        Else
            RichTextBox3.Text = RichTextBox1.Text
            numOfExts = TextBox1.Text
            Dim place As Integer = 0
            Dim exts(150) As String
            While extsHandled < numOfExts
                tempExt = RichTextBox1.Text.Substring(0, 32)
                exts(place) = tempExt
                RichTextBox1.Text.Remove(0, 33)
                place = place + 1
                extsHandled = extsHandled + 1
            End While
            Dim newPlace As Integer = 0
            While newPlace < numOfExts
                RichTextBox2.AppendText(exts(newPlace))
                newPlace = newPlace + 1
                RichTextBox2.AppendText(" ")
            End While

        End If
    End Sub
End Class

Most of it works, but it would seem something is going wrong with removing the characters from the richtextbox, as when I run it, it only parses the first part of the string over and over:

enter image description here

Am I doing something wrong?


Solution

  • If it's always like that you can do it like this:

    RichTextBox3.Text = RichTextBox1.Text.Replace(",", vbNewLine)
    

    The #3 is your result, while #1 is original right?

    enter image description here

    Ah yeah, you can count how many there simply by

    RichTextBox2.Text=  RichTextBox1.Text.Split({","}, StringSplitOptions.RemoveEmptyEntries).Count.ToString