Funzione Split (Visual Basic)
Aggiornamento: novembre 2007
Restituisce una matrice unidimensionale con indice in base zero che contiene il numero di sottostringhe specificato.
Function Split(
ByVal Expression As String,
Optional ByVal Delimiter As String = " ",
Optional ByVal Limit As Integer = -1,
Optional ByVal Compare As CompareMethod = CompareMethod.Binary
) As String()
Parametri
Expression
Obbligatorio. Espressione String contenente sottostringhe e delimitatori.Delimiter
Facoltativo. Qualsiasi carattere singolo utilizzato per identificare i limiti della sottostringa. Se Delimiter viene omesso, verrà automaticamente utilizzato lo spazio (" ") come delimitatore.Limit
Facoltativo. Numero massimo di sottostringhe nelle quali è possibile dividere la stringa di input. Il valore predefinito –1 indica che la stringa di input deve essere divisa a ogni occorrenza della stringa Delimiter.Compare
Facoltativo. Valore numerico che indica il tipo di confronto da utilizzare nella valutazione delle sottostringhe. I possibili valori sono indicati nella sezione "Impostazioni".
Valore restituito
Matrice String. Se Expression è una stringa di lunghezza zero (""), Split restituirà una matrice a elemento singolo contenente una stringa di lunghezza zero. Se Delimiter è una stringa di lunghezza zero o se non viene visualizzato in alcun punto di Expression, Split restituirà una matrice a elemento singolo contenente l'intera stringa Expression.
Impostazioni
Di seguito sono indicati i possibili valori dell'argomento Compare.
Costante |
Descrizione |
Valore |
---|---|---|
CompareMethod.Binary |
Verrà eseguito un confronto binario. |
0 |
CompareMethod.Text |
Verrà eseguito un confronto testuale. |
1 |
Note
Per impostazione predefinita o quando Limit corrisponde a -1, la funzione Split divide la stringa di input a ogni occorrenza della stringa di delimitazione e restituisce le sottostringhe di una matrice. Quando il parametro Limit è maggiore di zero, la funzione Split divide la stringa alle prime occorrenze di Limit-1 del delimitatore e restituisce una matrice con le sottostringhe risultanti. Ad esempio, Split("a:b:c", ":") restituisce la matrice {"a", "b", "c"}, mentre Split("a:b:c", ":", 2) restituisce la matrice {"a", "b:c"}.
Quando la funzione Split rileva due delimitatori in una riga o un delimitatore all'inizio o alla fine della stringa, li interpreta come delimitatori che racchiudono una stringa vuota (""). Split("xx", "x") restituisce, ad esempio, la matrice contenente tre stringhe vuote: una tra l'inizio della stringa e la prima "x", una tra le due stringhe "x" e una tra l'ultima "x" e la fine della stringa.
Nella tabella riportata di seguito viene illustrato in che modo i parametri facoltativi Delimiter, Limit e Compare possono modificare il comportamento della funzione Split.
Chiamata di Split |
Valore restituito |
---|---|
Split("42, 12, 19") |
{"42," , "12," , "19"} |
Split("42, 12, 19", ", ") |
{"42", "12", "19"} |
Split("42, 12, 19", ", ", 2) |
{"42", "12, 19"} |
Split("192.168.0.1", ".") |
{"192", "168", "0", "1"} |
Split("Alice and Bob", " AND ") |
{"Alice and Bob"} |
Split("Alice and Bob", " AND ", ,CompareMethod.Text) |
{"Alice", "Bob"} |
Split("someone@example.com", "@",1) |
{"someone@example.com"} |
Split("someone@example.com", "@",2) |
{"someone", "example.com"} |
Esempio
Nell'esempio riportato di seguito viene illustrato come dividere una stringa in corrispondenza dei relativi spazi.
Dim TestString As String = "Look at these!"
' Returns an array containing "Look", "at", and "these!".
Dim TestArray() As String = Split(TestString)
Nell'esempio riportato di seguito viene illustrato come dividere stringhe con più delimitatori in una riga ed escludere le stringhe vuote.
Dim TestString As String = "apple pear banana "
Dim TestArray() As String = Split(TestString)
' TestArray holds {"apple", "", "", "", "pear", "banana", "", ""}
Dim LastNonEmpty As Integer = -1
For i As Integer = 0 To TestArray.Length - 1
If TestArray(i) <> "" Then
LastNonEmpty += 1
TestArray(LastNonEmpty) = TestArray(i)
End If
Next
ReDim Preserve TestArray(LastNonEmpty)
' TestArray now holds {"apple", "pear", "banana"}
Requisiti
Spazio dei nomi:Microsoft.VisualBasic
**Modulo:**Strings
**Assembly:**Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)