Función Split
Devuelve una matriz de base cero unidimensional que contiene un número especificado de subcadenas.
Sintaxis
Split(expression, [ delimiter, [ limit, [ compare ]]])
La sintaxis de la función Split consta de los argumentos con nombre siguientes:
Parte | Descripción |
---|---|
expression | Obligatorio. Expresión de cadena que contiene subcadenas y delimitadores. Si expression es una cadena de longitud cero (""), Split devuelve una matriz vacía, es decir, una matriz sin elementos ni datos. |
delimiter | Opcional. Carácter de cadena que se usa para identificar los límites de subcadena. Si se omite, se supone que el carácter de espacio (" ") es el delimitador. Si delimiter es una cadena de longitud cero, se devuelve una matriz de un solo elemento que contenga toda la cadena de expression. |
limit | Opcional. Número de subcadenas que se devolverá; -1 indica que se devuelven todas las subcadenas. |
compare | Opcional. Valor numérico que indica el tipo de comparación que se usa al evaluar subcadenas. Vea la sección Configuración de valores. |
Configuración
El argumento compare puede tener los siguientes valores:
Constante | Valor | Descripción |
---|---|---|
vbUseCompareOption | -1 | Realiza una comparación usando la configuración de la instrucción Option Compare. |
vbBinaryCompare | 0 | Lleva a cabo una comparación binaria. |
vbTextCompare | 1 | Lleva a cabo una comparación textual. |
vbDatabaseCompare | 2 | Solo Microsoft Access. Realiza una comparación que se basa en la información de la base de datos. |
Ejemplo:
En este ejemplo se muestra cómo usar la función Split .
Dim strFull As String
Dim arrSplitStrings1() As String
Dim arrSplitStrings2() As String
Dim strSingleString1 As String
Dim strSingleString2 As String
Dim strSingleString3 As String
Dim i As Long
strFull = "Dow - Fonseca - Graham - Kopke - Noval - Offley - Sandeman - Taylor - Warre" ' String that will be used.
arrSplitStrings1 = Split(strFull, "-") ' arrSplitStrings1 will be an array from 0 To 8.
' arrSplitStrings1(0) = "Dow " and arrSplitStrings1(1) = " Fonesca ".
' The delimiter did not include spaces, so the spaces in strFull will be included in the returned array values.
arrSplitStrings2 = Split(strFull, " - ") ' arrSplitStrings2 will be an array from 0 To 8.
' arrSplitStrings2(0) = "Dow" and arrSplitStrings2(1) = "Fonesca".
' The delimiter includes the spaces, so the spaces will not be included in the returned array values.
'Multiple examples of how to return the value "Kopke" (array position 3).
strSingleString1 = arrSplitStrings2(3) ' strSingleString1 = "Kopke".
strSingleString2 = Split(strFull, " - ")(3) ' strSingleString2 = "Kopke".
' This syntax can be used if the entire array is not needed, and the position in the returned array for the desired value is known.
For i = LBound(arrSplitStrings2, 1) To UBound(arrSplitStrings2, 1)
If InStr(1, arrSplitStrings2(i), "Kopke", vbTextCompare) > 0 Then
strSingleString3 = arrSplitStrings2(i)
Exit For
End If
Next i
Vea también
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.