Strings.Split(String, String, Int32, CompareMethod) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve una matriz unidimensional basada en cero que contiene un número especificado de subcadenas.
public static string[] Split (string? Expression, string? Delimiter = " ", int Limit = -1, Microsoft.VisualBasic.CompareMethod Compare = Microsoft.VisualBasic.CompareMethod.Binary);
public static string[] Split (string Expression, string Delimiter = " ", int Limit = -1, Microsoft.VisualBasic.CompareMethod Compare = Microsoft.VisualBasic.CompareMethod.Binary);
static member Split : string * string * int * Microsoft.VisualBasic.CompareMethod -> string[]
Public Function Split (Expression As String, Optional Delimiter As String = " ", Optional Limit As Integer = -1, Optional Compare As CompareMethod = Microsoft.VisualBasic.CompareMethod.Binary) As String()
Parámetros
- Expression
- String
Obligatorio. Expresión de tipo String
que contiene subcadenas y delimitadores.
- Delimiter
- String
Opcional. Cualquier carácter individual que se utilice para identificar los límites de las subcadenas. Si se omite Delimiter
, se supone que el carácter de espacio (" ") es el delimitador.
- Limit
- Int32
Opcional. Número máximo de subcadenas en las que se debe dividir la cadena de entrada. El valor predeterminado es -1, que indica que la cadena de entrada se debe dividir cada vez que aparece la cadena Delimiter
.
- Compare
- CompareMethod
Opcional. Valor numérico que indica la comparación que se va a utilizar al evaluar subcadenas. Consulte los valores en "Configuración".
Devoluciones
Matriz de tipoString
. 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 Expression
, Split
devuelve una matriz de un solo elemento que contiene toda la cadena Expression
.
Ejemplos
En el ejemplo siguiente se muestra cómo dividir una cadena en sus espacios.
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 dividir cadenas con varios delimitadores en una fila y filtrar 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"}
Comentarios
De forma predeterminada, o cuando Limit
es igual a -1, la Split
función divide la cadena de entrada en cada aparición de la cadena delimitador y devuelve las subcadenas en una matriz. Cuando el Limit
parámetro es mayor que cero, la Split
función divide la cadena en las primeras Limit
repeticiones -1 del delimitador y devuelve una matriz con las subcadenas resultantes. Por ejemplo, Split("a:b:c", ":")
devuelve la matriz {"a", "b", "c"}
, mientras Split("a:b:c", ":", 2)
que devuelve la matriz {"a", "b:c"}
.
Cuando la Split
función encuentra dos delimitadores en una fila o un delimitador al principio o al final de la cadena, los interpreta como rodeando una cadena vacía (""). Por ejemplo, Split("xx", "x")
devuelve la matriz que contiene tres cadenas vacías: una desde el principio de la cadena y la primera "x", una de entre las dos cadenas "x" y otra de entre la última "x" y 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 Split
función.
Llamada dividida | 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 y Bob"} |
Split("Alice and Bob", " AND ", ,CompareMethod.Text) |
{"Alice", "Bob"} |
Split("someone@example.com", "@",1) |
{"someone@example.com"} |
Split("someone@example.com", "@",2) |
{"alguien", "example.com"} |
El Compare
argumento puede tener los valores siguientes.
Constante | Descripción | Valor |
---|---|---|
CompareMethod.Binary |
Realiza una comparación binaria | 0 |
CompareMethod.Text |
Realiza una comparación textual | 1 |