Parse string function

I have 2 strings. In these strings I have values seperated by ;

Locations = "blablubla;bobbabbib;jamjam;namnam;"
Visits = "200;300;50;80;"

I need a function that can give me the X value of both strings.
Example:
strValue1 = Gime(Locations,2)
strValue2 = Gime(Visits,2)
will return this:
strValue1 = bobbabbib
strValue2 = 300
jflAsked:
Who is Participating?
 
clifABBConnect With a Mentor Commented:
Public Function ParseString(sText as String, nSection as Integer)
  Dim sTemp   As String
  Dim nPtr    As Integer
  Dim nCnt1   As Integer

  For nCnt1 = 1 To nSection
    nPtr = Instr(nPtr + 1, sText, ";")
    If nPtr = 0 Then
      ParseString = ""
      Exit Function
    End If
  Next nCnt1
  sTemp = Mid$(sText, nPtr + 1)
  ParseString = Left$(sTemp, Len(sTemp) - Instr(sTemp, ";")
End Function
0
 
clifABBCommented:
Oops...
I tried to do this off the top of my head, but screwed up.

Here is the real working code (I tested it this time):

Public Function ParseString(sText As String, nSection As Integer)
  Dim sTemp   As String
  Dim nPtr    As Integer
  Dim nCnt1   As Integer

  For nCnt1 = 1 To nSection - 1
    nPtr = InStr(nPtr + 1, sText, ";")
    If nPtr = 0 Or nPtr >= Len(sText) Then
      ParseString = ""
      Exit Function
    End If
  Next nCnt1
  sTemp = Mid$(sText, nPtr + 1)
  nPtr = InStr(sTemp, ";") - 1
  ParseString = Left$(sTemp, nPtr)
End Function

0
 
mcixCommented:
Here's a little function that does the same sort of thing:

Function Token(LookIn As String, Delim As String, tkno As Integer) As String

    ' this function extracts token #tkno from a
    ' string of tokens (LookIn) separated by a delimiter (Delim).
    ' last character in (LookIn) *must* be a delimiter

    Dim ptr As Long, ptr0 As Long, tptr As Long
    ptr = 1
    ptr0 = 1
    tptr = 1
   
    Do
        ptr = InStr(ptr0, LookIn, Delim)

        ' if we can't find any more tokens
        ' check to see if this is the one we want
        If ptr = 0 Then
            If tptr = tkno Then
                Token = Mid(LookIn, ptr0)
            Else
                Token = Empty
                Exit Do
            End If
        Else
            ' do we have correct token?
            If tptr = tkno Then
           
                Token = Mid(LookIn, ptr0, ptr - ptr0)
                Exit Do
            End If
        End If
        tptr = tptr + 1
        ptr0 = ptr + 1
    Loop
End Function


0
All Courses

From novice to tech pro — start learning today.