Ask Learn
Preview
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns a zero-based, one-dimensional array containing a specified number of substrings.
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()
Required. String
expression containing substrings and delimiters.
Optional. Any single character used to identify substring limits. If Delimiter
is omitted, the space character (" ") is assumed to be the delimiter.
Optional. Maximum number of substrings into which the input string should be split. The default, -1, indicates that the input string should be split at every occurrence of the Delimiter
string.
Optional. Numeric value indicating the comparison to use when evaluating substrings. See "Settings" for values.
String
array. If Expression
is a zero-length string (""), Split
returns a single-element array containing a zero-length string. If Delimiter
is a zero-length string, or if it does not appear anywhere in Expression
, Split
returns a single-element array containing the entire Expression
string.
The following example demonstrates how to split a string at its spaces.
Dim testString As String = "Look at these!"
' Returns an array containing "Look", "at", and "these!".
Dim testArray() As String = Split(testString)
The following example demonstrates how to split strings with multiple delimiters in a row and filter out the empty strings.
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"}
By default, or when Limit
equals -1, the Split
function splits the input string at every occurrence of the delimiter string, and returns the substrings in an array. When the Limit
parameter is greater than zero, the Split
function splits the string at the first Limit
-1 occurrences of the delimiter, and returns an array with the resulting substrings. For example, Split("a:b:c", ":")
returns the array {"a", "b", "c"}
, while Split("a:b:c", ":", 2)
returns the array {"a", "b:c"}
.
When the Split
function encounters two delimiters in a row, or a delimiter at the beginning or end of the string, it interprets them as surrounding an empty string (""). For example, Split("xx", "x")
returns the array containing three empty strings: one from between the beginning of the string and the first "x", one from between the two "x" strings, and one from between the last "x" and the end of the string.
This table demonstrates how the optional Delimiter
, Limit
, and Compare
parameters can change the behavior of the Split
function.
Split Call | Return Value |
---|---|
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"} |
The Compare
argument can have the following values.
Constant | Description | Value |
---|---|---|
CompareMethod.Binary |
Performs a binary comparison | 0 |
CompareMethod.Text |
Performs a textual comparison | 1 |
Product | Versions |
---|---|
.NET | Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET feedback
.NET is an open source project. Select a link to provide feedback:
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign in