very easy to use
hope it comes in use to someone, i use it a lot in my scripts
Public Function AddTok(Text As String, Token, AscChar As Integer) As String
Dim Tokens() As String, NumTokens As Integer, X As Integer
Tokens = Split(Text, Chr(AscChar))
NumTokens = UBound(Tokens) + 1
For X = 1 To NumTokens
If Tokens(X - 1) = Token Then GoTo ReturnLine
Next X
ReDim Preserve Tokens(NumTokens)
Tokens(NumTokens) = Token
ReturnLine:
AddTok = Join(Tokens, Chr(AscChar))
End Function
Public Function InsTok(Text As String, Token, Insert As Integer, AscChar As Integer) As String
Dim Tokens() As String, NumTokens As Integer, X As Integer
Tokens = Split(Text, Chr(AscChar))
NumTokens = UBound(Tokens) + 1
ReDim Preserve Tokens(NumTokens)
For X = NumTokens To Insert Step -1
Tokens(X) = Tokens(X - 1)
Next X
Tokens(Insert - 1) = Token
InsTok = Join(Tokens, Chr(AscChar))
End Function
Public Function NumTok(Text As String, AscChar As Integer) As Integer
Dim Tokens() As String
Tokens = Split(Text, Chr(AscChar))
NumTok = UBound(Tokens) + 1
End Function
Public Function GetTok(Text As String, Token As String, AscChar As Integer) As String
Dim Tokens() As String, NumTokens As Integer
Tokens = Split(Text, Chr(AscChar))
NumTokens = UBound(Tokens) + 1
If InStr(1, Token, "-") > 1 Then
Dim X As Integer, Y As Integer, z As Integer, TokReturn As String
X = Val(Mid(Token, 1, InStr(1, Token, "-") - 1) + 0)
If InStr(1, Token, "-") = Len(Token) Then
Y = 0
Else
Y = Val(Mid(Token, InStr(1, Token, "-") + 1) + 0)
End If
If Y = 0 Then Y = NumTokens
For z = X To Y
If TokReturn = "" Then
TokReturn = Tokens(z - 1)
Else
TokReturn = TokReturn & Chr(AscChar) & Tokens(z - 1)
End If
Next z
GetTok = TokReturn
ElseIf Val(Token + 0) = 0 Then
GetTok = NumTokens
ElseIf Val(Token + 0) <= NumTokens Then
GetTok = Tokens(Token - 1)
End If
End Function

