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)

Vedere anche

Riferimenti

Riepilogo della gestione delle stringhe

Funzione Join (Visual Basic)

Enumerazione CompareMethod