ParseVB5




Option Explicit
Dim strUnparsed As String
Dim strParsed(1 To 20) As String
Dim strSeparator As String
Dim strStart As Integer
Dim srchStart As Integer
Dim i As Integer

Private Sub btnPARSE_Click()
If txtString.Text <> "" Then
strUnparsed = txtString.Text
strSeparator = " "
'Call the function sending the text to be parsed,

'and the separator to parse it with.

Call PARSE(strUnparsed, strSeparator)
'To show you the finished result.

i = 1
Do While strParsed(i) <> ""
MsgBox strParsed(i)
i = i + 1
Loop
End If
End Sub

Public Function PARSE(strUnparsed, strSeparator)
'Clear previously parsed words....

For i = 1 To 20
strParsed(i) = ""
Next i
'Do you really want to know how this works?

i = 1
strStart = 1
srchStart = 1

If InStr(1, strUnparsed, strSeparator, vbTextCompare) <> 0 Then
Do
strParsed(i) = Mid(strUnparsed, srchStart, _
InStr(strStart, strUnparsed, strSeparator, _
vbTextCompare) - srchStart)
srchStart = InStr(strStart, strUnparsed, _
strSeparator, vbTextCompare) + Len(strSeparator)
strStart = srchStart
If strParsed(i) <> "" Then
i = i + 1
End If
Loop Until InStr(strStart, strUnparsed, strSeparator, _
vbTextCompare) = 0
strParsed(i) = Mid(strUnparsed, srchStart, _
Len(strUnparsed) - srchStart + 1)
Else
strParsed(1) = strUnparsed
End If
End Function
Inputs:The string thats going to be split The separator

Returns:An array of parsed words from the string

Assumes:An edit box named "txtString" is present
A button names "btnPARSE" is present












( parsevb5.html )- by Paolo Puglisi - Modifica del 17/12/2023