Con Visual Basic 6.0 è stato introdotto una nuova
funzione, Split, la quale, presa in ingresso una stringa,
restituisce una matrice contenente le sottostringhe delimitate
dal carattere specificato. La sintassi della funzione
Split è la seguente:
Split(espressione [, delimitatore])
La funzione supporta altri parametri oltre a quelli
presentati; per una spiegazione del loro significato si rimanda
alla Guida in linea di Visual Basic. Qui di seguito è
riportato un esempio del suo utilizzo:
Const Nomi As String = “Marco Andrea Cino Luigi
Leonardo”
Dim Nome() As String, Messaggio As
String
Dim I As Integer
‘Divide i nomi utilizzando lo spazio come
delimitatore.
Nome = Split(Nomi, ” “)
For I = 0 To UBound(Nome)
Messaggio = Messaggio & “Nome ” & I + 1
& “: ” & Nome(I) & vbCrLf
Next I
MsgBox “Lista dei nomi: ” & Nomi & vbCrLf &
vbCrLf & “Nomi separati: ” & vbCrLf & Messaggio,
vbInformation
Nelle versioni di VB precedenti alla 6, invece, la funzione
Split non è presente, tuttavia è possibile
ottenere lo stesso risultato di quest’ultima con una
piccola routine:
Sub Split(ByVal str As String, ByVal Separator As String,
ByRef Splitted() As String, ByRef NumElem As Integer)
‘Divide la stringa in base al separatore
specificato.
Dim PosAttuale As Integer, PosOccorrenza As
Integer
If Right$(str, 1) <> Separator Then str =
str & Separator
Do
PosAttuale = PosOccorrenza + Len(Separator)
PosOccorrenza = InStr(PosAttuale, str,
Separator)
If PosOccorrenza <> 0 Then
ReDim Preserve Splitted(NumElem)
Splitted(NumElem) = Mid$(str, PosAttuale,
PosOccorrenza – PosAttuale)
If NumElem = 0 And Len(Separator) > 1
Then Splitted(NumElem) = Left$(str, Len(Separator) – 1) &
Splitted(NumElem)
NumElem = NumElem + 1
End If
Loop Until PosOccorrenza = 0
End Sub