[vbscript] get token

Ho realizzato questa semplice funzione in vbscript per l’identificazione dei token all’interno di una stringa (o testo):


Function get_token(byVal TokenString, byRef TokenSeparators())

Dim NumWords, token(), i
NumWords = 0

Dim NumSeps
NumSeps = UBound(TokenSeparators)

Do
Dim SepIndex, SepPosition
SepPosition = 0
SepIndex = -1

for i = 0 to NumSeps-1
'
' Trovo la posizione del separatore all'interno della stringa
'
Dim pos
pos = InStr(TokenString, TokenSeparators(i))

'
' Se il separatore è presente
'
If pos > 0 and ( (SepPosition = 0) or (pos < SepPosition) ) Then SepPosition = pos SepIndex = i End If Next ' ' test: sono stati trovati separatori nella stringa? ' If SepIndex < 0 Then ' ' Nessun separatore trovato ' ' incremento la dimensione dell'array contente i token e inserisco ' il nuovo token al suo interno redim preserve token(NumWords+1) token(NumWords) = TokenString Else ' Trovato un separatore - estraggo il token Dim substr substr = Trim(Left(TokenString, SepPosition-1)) ' Aggiungo il token trovato all'array redim preserve token(NumWords+1) token(NumWords) = substr ' Tolgo via il token appena trovato e riconsidero la stringa Dim TrimPosition TrimPosition = SepPosition+Len(TokenSeparators(SepIndex)) TokenString = Trim(Mid(TokenString, TrimPosition)) End If NumWords = NumWords + 1 loop while (SepIndex >= 0)

get_token = token

End Function

Related Posts:

  • Nessun post correlato