Split, fonction (Visual Basic)
Mise à jour : novembre 2007
Retourne un tableau à une dimension de base zéro et contenant le nombre spécifié de sous-chaînes.
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()
Paramètres
Expression
Requis. Expression String contenant des sous-chaînes et des délimiteurs.Delimiter
Facultatif. Tout caractère unique utilisé pour identifier les limites de sous-chaîne. Si Delimiter est omis, le caractère espace (" ") est utilisé comme délimiteur par défaut.Limit
Facultatif. Nombre maximal des sous-chaînes dans lesquelles la chaîne d'entrée doit être fractionnée. La valeur par défaut, -1, indique que la chaîne d'entrée doit être fractionnée à chaque occurrence de la chaîne Delimiter.Compare
Facultatif. Valeur numérique indiquant la comparaison à utiliser lors de l'évaluation des sous-chaînes. Consultez « Settings » pour obtenir les valeurs.
Retourne
Tableau de String. Si Expression est une chaîne de longueur nulle (""), Split retourne un tableau à un seul élément contenant une chaîne de longueur nulle. Si Delimiter est une chaîne de longueur nulle ou qu'il n'apparaît pas dans Expression, Split retourne un tableau à un seul élément contenant la chaîne Expression entière.
Paramètres
L'argument Compare peut prendre les valeurs suivantes.
Constante |
Description |
Valeur |
---|---|---|
CompareMethod.Binary |
Effectue une comparaison binaire. |
0 |
CompareMethod.Text |
Effectue une comparaison de texte. |
1 |
Notes
Par défaut, ou lorsque Limit est égal à -1, la fonction Split fractionne la chaîne d'entrée à chaque occurrence de la chaîne du délimiteur et retourne les sous-chaînes dans un tableau. Lorsque le paramètre Limit est supérieur à zéro, la fonction Split fractionne la chaîne aux premières occurrences Limit -1 du délimiteur et retourne un tableau avec les sous-chaînes résultant. Par exemple, Split("a:b:c", ":") retourne {"a", "b", "c"} du tableau pendant que Split("a:b:c", ":", 2) retourne {"a", "b:c"} du tableau.
Lorsque la fonction Split rencontre deux séparateurs dans une même ligne ou un séparateur au début ou à la fin de la chaîne, elle les interprète comme s'ils entouraient une chaîne vide (""). Par exemple, Split("xx", "x") retourne le tableau contenant trois chaînes vides : une située entre le début de la chaîne et le premier "x", une située entre les deux chaînes "x" et la dernière située entre le dernier "x" et la fin de la chaîne.
Ce tableau montre comment le Delimiter facultatif, les paramètres Limit et Compare peuvent modifier le comportement de la fonction Split.
Appel fractionné |
Valeur de retour |
---|---|
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 et Bob"} |
Split("Alice and Bob", " AND ", ,CompareMethod.Text) |
{"Alice", "Bob"} |
Split("someone@example.com", "@",1) |
{"xyz@example.com"} |
Split("someone@example.com", "@",2) |
{"xyz", "example.com"} |
Exemple
L'exemple suivant montre comment fractionner une chaîne à ses espaces.
Dim TestString As String = "Look at these!"
' Returns an array containing "Look", "at", and "these!".
Dim TestArray() As String = Split(TestString)
L'exemple suivant montre comment fractionner des chaînes disposant de plusieurs séparateurs dans une même ligne et éliminer les chaînes vides par filtrage.
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"}
Configuration requise
Espace de noms :Microsoft.VisualBasic
**Module :**Strings
**Assembly :**bibliothèque Visual Basic Runtime (dans Microsoft.VisualBasic.dll)