Jan
30

[vbscript] get token

Postato in  
Technology

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:

Scrivi il tuo commento