Tools Links Login

A 'Parse' function.

To split a string into pieces using a certain character as a delimiter. I do not want to get messages saying, "use the Split() function" as this isn't present in VB5.
Example of this is "hello to you", with the delimiter as " ". You'll get back 3 variables, one containing "hello", one containing "to" and one containing "you"

Original Author: Danny Young

Inputs

The string thats going to be split and the delimiter in which to split it with.

Assumptions

Put a button on a form, and leave it as the default name

Returns

An array of parsed words from the string

Code

Option Explicit
Private Sub Command1_Click()
Dim A As Variant
Dim i As Integer
i = 1
A = Parse("hello to you", " ")
Do While A(i) <> ""
MsgBox A(i)
i = i + 1
Loop
End Sub
Public Function Parse(sIn As String, sDel As String) As Variant
Dim i As Integer, x As Integer, s As Integer, t As Integer
i = 1: s = 1: t = 1: x = 1
ReDim tArr(1 To x) As Variant
If InStr(1, sIn, sDel) <> 0 Then
  Do
   ReDim Preserve tArr(1 To x) As Variant
   tArr(i) = Mid(sIn, t, InStr(s, sIn, sDel) - t)
   t = InStr(s, sIn, sDel) + Len(sDel)
   s = t
   If tArr(i) <> "" Then i = i + 1
   x = x + 1
  Loop Until InStr(s, sIn, sDel) = 0
  ReDim Preserve tArr(1 To x) As Variant
  tArr(i) = Mid(sIn, t, Len(sIn) - t + 1)
Else
  tArr(1) = sIn
End If
Parse = tArr
End Function

About this post

Posted: 2002-06-01
By: ArchiveBot
Viewed: 112 times

Categories

Visual Basic 6

Attachments

No attachments for this post


Loading Comments ...

Comments

No comments have been added for this post.

You must be logged in to make a comment.