Split (Función, Visual Basic)

Actualización: noviembre 2007

Devuelve una matriz unidimensional basada en cero que contiene un número especificado de subcadenas.

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()

Parámetros

  • Expression
    Obligatoria. Expresión de tipo String que contiene subcadenas y delimitadores.

  • Delimiter
    Opcional. Carácter único que se utiliza para identificar los límites de las subcadenas. Si se omite Delimiter, el carácter de espacio (" ") se considera un delimitador.

  • Limit
    Opcional. Número máximo de subcadenas en las que debería dividirse la cadena de entrada. El valor predeterminado, -1, indica que la cadena de entrada debe dividirse en cada aparición de la cadena Delimiter.

  • Compare
    Opcional. Valor numérico que indica el tipo de comparación que se va a utilizar en la evaluación de subcadenas. Vea la sección "Configuración" para conocer los valores utilizados.

Resultados

Matriz String. Si Expression es una cadena de longitud cero (""), Split devuelve una matriz de un solo elemento que contiene una cadena de longitud cero. Si Delimiter es una cadena de longitud cero o si no aparece en ningún punto de Expression, Split devuelve una matriz de un solo elemento que contiene la cadena Expression completa.

Configuración

El argumento Compare puede tener los siguientes valores:

Constante

Descripción

Valor

CompareMethod.Binary

Realiza una comparación binaria

0

CompareMethod.Text

Realiza una comparación textual

1

Comentarios

De manera predeterminada, o cuando Limit es igual a -1, la función Split divide la cadena de entrada en cada aparición de la cadena de delimitación, y devuelve las subcadenas en una matriz. Cuando el parámetro Limit es mayor que cero, la función Split divide la cadena en las primeras apariciones en las que el valor de Limit es -1 y devuelve una matriz con las subcadenas resultantes. Por ejemplo, Split("a:b:c", ":") devuelve la matriz {"a", "b", "c"}, mientras que Split("a:b:c", ":", 2) devuelve la matriz {"a", "b:c"}.

Cuando la función Split encuentra dos delimitadores seguidos o un delimitador al principio o al final de la cadena, interpreta que estos delimitadores encierran una cadena vacía (""). Por ejemplo, Split("xx", "x") devuelve la matriz que contiene tres cadenas vacías: una cadena que va desde el comienzo de la cadena hasta la primera "x", otra cadena que abarca el espacio comprendido entre las dos "x" y una última que va desde la última "x" hasta el final de la cadena.

En esta tabla se muestra cómo los parámetros opcionales Delimiter, Limit y Compare pueden cambiar el comportamiento de la función Split.

Dividir llamada

Valor devuelto

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"}

Ejemplo

En el ejemplo siguiente se muestra cómo se divide una cadena en los espacios que contiene.

Dim TestString As String = "Look at these!"
' Returns an array containing "Look", "at", and "these!".
Dim TestArray() As String = Split(TestString)

En el ejemplo siguiente se muestra cómo se dividen cadenas con varios delimitadores seguidos y cómo se filtran las cadenas vacías.

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"}

Requisitos

Espacio de nombres:Microsoft.VisualBasic

**Módulo:**Strings

**Ensamblado:**Visual Basic Runtime Library (en Microsoft.VisualBasic.dll)

Vea también

Referencia

Resumen de manipulación de cadenas

Join (Función, Visual Basic)

CompareMethod (Enumeración)