Strings.Split(String, String, Int32, CompareMethod) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna uma matriz unidimensional baseada em zero que contém um número especificado de subcadeias de caracteres.
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
Obrigatórios. Expressão String
que contém subcadeias de caracteres e delimitadores.
- Delimiter
- String
Opcional. Qualquer caractere único usado para identificar limites de subcadeia de caracteres. Se Delimiter
for omitido, o caractere de espaço (" ") será considerado o delimitador.
- Limit
- Int32
Opcional. Número máximo de subcadeias de caracteres no qual a cadeia de caracteres de entrada deve ser dividida. O padrão, -1, indica que a cadeia de caracteres de entrada deve ser dividida em cada ocorrência da cadeia de caracteres Delimiter
.
- Compare
- CompareMethod
Opcional. Valor numérico que indica a comparação a ser usada ao avaliar subcadeias de caracteres. Consulte “Configurações” para obter os valores.
Retornos
Matriz String
. Se Expression
for uma cadeia de caracteres de tamanho zero (""), Split
retornará uma matriz de elemento único que contém uma cadeia de caracteres de tamanho zero. Se Delimiter
for uma cadeia de caracteres de tamanho zero ou se ela não for exibida em nenhum lugar em Expression
, Split
retornará uma matriz de elemento único que contém toda a cadeia de caracteres Expression
.
Exemplos
O exemplo a seguir demonstra como dividir uma cadeia de caracteres em seus espaços.
Dim testString As String = "Look at these!"
' Returns an array containing "Look", "at", and "these!".
Dim testArray() As String = Split(testString)
O exemplo a seguir demonstra como dividir cadeias de caracteres com vários delimitadores em uma linha e filtrar as cadeias de caracteres vazias.
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"}
Comentários
Por padrão, ou quando Limit
é igual a -1, a Split
função divide a cadeia de caracteres de entrada em cada ocorrência da cadeia de caracteres delimitador e retorna as subcadeias de caracteres em uma matriz. Quando o Limit
parâmetro for maior que zero, a Split
função dividirá a cadeia de caracteres nas primeiras Limit
-1 ocorrências do delimitador e retornará uma matriz com as subcadeias de caracteres resultantes. Por exemplo, Split("a:b:c", ":")
retorna a matriz {"a", "b", "c"}
, enquanto Split("a:b:c", ":", 2)
retorna a matriz {"a", "b:c"}
.
Quando a Split
função encontra dois delimitadores em uma linha ou um delimitador no início ou no final da cadeia de caracteres, ela os interpreta como cercando uma cadeia de caracteres vazia (""). Por exemplo, Split("xx", "x")
retorna a matriz que contém três cadeias de caracteres vazias: uma entre o início da cadeia de caracteres e a primeira "x", uma entre as duas cadeias de caracteres "x" e outra entre o último "x" e o final da cadeia de caracteres.
Esta tabela demonstra como os parâmetros opcionais Delimiter
, Limit
e Compare
podem alterar o comportamento da Split
função.
Chamada dividida | Valor Retornado |
---|---|
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 e Bob"} |
Split("Alice and Bob", " AND ", ,CompareMethod.Text) |
{"Alice", "Bob"} |
Split("someone@example.com", "@",1) |
{"someone@example.com"} |
Split("someone@example.com", "@",2) |
{"alguém", "example.com"} |
O Compare
argumento pode ter os valores a seguir.
Constante | Descrição | Valor |
---|---|---|
CompareMethod.Binary |
Executa uma comparação binária | 0 |
CompareMethod.Text |
Executa uma comparação textual | 1 |