C# String Split() Method
In C#, Split() is a string class method used to divide a string into an array of substrings. The Split() method divides a string into an array of substrings using specified delimiters.
The delimiters can be:
- A character for example comma(,) or underscore(-).
- An array of characters char[] or an array of strings string[].
In simple words, it returns a string array that contains the substrings in the current instance that are delimited by elements of a specified string or Unicode character array.
Example: Separating a string based on space using String.Split() method.
// C# program to illustrate the
// String.Split() Method
using System;
class Geeks
{
public static void Main()
{
// declaring the string
String str = "Hello from GeeksforGeeks";
// Splitting the string
// into substrings separated by spaces
string[] split = str.Split(' ');
foreach (var word in split)
{
Console.WriteLine(word);
}
}
}
Output
Hello from GeeksforGeeks
Explanation: In the above example, we use the Split() method which converts the string into the string array based on a single space and then we print each string present in the array using the foreach loop.
Different Overloads of String.Split() Method
These are the six overloads of String.Split() method.
Methods | Description |
---|---|
Split(String[], Int32, StringSplitOptions) | Split string into a maximum number of sub-strings based on the array of strings passed as parameters. We can specify whether to include the empty array elements in an array of substrings or not. |
Split(Char[], Int32, StringSplitOptions) | Split string into a maximum number of sub-strings based on the array of characters passed as a parameter. We can specify whether to include the empty array elements in an array of substrings or not. |
Split(String[], StringSplitOptions) | Splits a string into substrings based on the array of strings. We can specify whether to include the empty array elements in an array of substrings or not. |
Split(Char[]) | Splits a string into substrings based on the array of characters. |
Split(Char[], StringSplitOptions) | Splits a string into substrings based on the array of characters. We can specify whether to include the empty array elements in an array of substrings or not. |
Split(Char[], Int32) | Split string into a maximum number of sub-strings based on the array of characters passed as a parameter. We can specify a maximum number of sub-strings to return. |
Parameters:
- separator: It is a character or a set of characters or an array of string[] that defines the points at which a string should be split into substrings
- options: RemoveEmptyEntries or None option to omit empty array elements from the array returned or None option to include empty array elements in the array returned.
- count: It defines the maximum number of substrings to return. If omitted, all possible substrings are returned.
Return Type: This method returns an array whose elements contain the substrings in this string which are delimited by one or more characters or an array of strings in the separator .
Exceptions:
- ArgumentOutOfRangeException: If the count is negative.
- ArgumentException: If the options are not one of the StringSplitsOptions values.
1. Split(String[], Int32, StringSplitOptions)
This method is used to split a string into a maximum number of substrings based on the strings in an array. We can specify whether the substrings include empty array elements or not.
Syntax:
public String[] Split(String[] separator, int count, StringSplitOptions options);
Example: Separate the string using the Split(String[], Int32, StringSplitOptions) method.
// C# program to illustrate Split(String[], Int32, StringSplitOptions)
using System;
class Geeks
{
static void Main(string[] args)
{
// Declaring the string
string s = "Geeks, For Geeks";
// String array of separators
string[] sp = { ",", "For" };
// Count of substrings to be returned
int c = 2;
// Splitting the string
string[] strlist = s.Split(sp, c, StringSplitOptions.RemoveEmptyEntries);
// Displaying the substrings
foreach(string str in strlist)
{
Console.WriteLine(str);
}
}
}
Output
Geeks For Geeks
2. Split(Char[], Int32, StringSplitOptions)
This method is used to split a string into a maximum number of substrings based on the characters in an array passed on the argument and also we can pass the count of the maximum substring to return.
Syntax:
public String[] Split(char[] separator, int count, StringSplitOptions options);
Example:
// C# program to illustrate the
// Split(Char[], Int32,
// StringSplitOptions) Method
using System;
class Geeks
{
static void Main(string[] args)
{
// Taking a string
String str = "Geeks, For Geeks";
// Array of spliters
char[] sp = { ',', ' ' };
// Count of substrings
// to be returned
Int32 c = 2;
// Using the split method
// with StringSplitOptions.None
String[] list = str.Split(sp,
c, StringSplitOptions.None);
foreach(String s in list)
Console.WriteLine(s);
}
}
Output
Geeks For Geeks
3. Split(String[], StringSplitOptions)
This method is used to split a string into substrings based on the strings in an array. We can also specify whether the substrings include empty array elements or not.
Syntax:
public String[] Split(String[] separator, StringSplitOptions options);
Example:
// C# program to illustrate the
// Split(String[], StringSplitOptions) Method
using System;
class Geeks
{
static void Main(string[] args)
{
// Declaring and initializing the string
String str = "Geeks,For Geeks";
// Array of separators
String[] sp = { ",", " " };
// Splitting the string
String[] list = str.Split(sp, StringSplitOptions.None);
foreach(String s in list)
{
Console.WriteLine(s);
}
}
}
Output
Geeks For Geeks
4. Split(char[])
This method is used to split a string into a maximum number of substrings based on the characters in an array. We can also specify the maximum number of substrings to return.
Syntax:
public String[] Split(char[] separator);
Example:
// C# program to illustrate the
// Split(Char[]) Method
using System;
class Geeks
{
static void Main(string[] args)
{
// Declaring and initializing the string
String str = "Geeks,For Geeks";
// Character array of separator
// to split the string
char[] separator = { ',', ' ' };
// Using the split method
String[] strlist = str.Split(separator);
foreach(String s in strlist)
{
Console.WriteLine(s);
}
}
}
Output
Geeks For Geeks
5. Split(char[], StringSplitOptions )
This method splits a string into substrings based on the characters in an array passed as a separator. We can also specify whether empty array elements should be included or not using the second parameter StringSplitOptions.
Syntax:
public String[] Split(char[] separator, StringSplitOptions option);
Example:
// C# program to illustrate the use of
// Split(Char[], StringSplitOptions) method
using System;
class Geeks
{
static void Main(string[] args)
{
String s = "Geeks, For Geeks";
// Character array as
// As a separator
char[] sp = { ',', ' ' };
// Using the method
String[] list = s.Split(sp,
StringSplitOptions.RemoveEmptyEntries);
foreach(String i in list)
{
Console.WriteLine(i);
}
}
}
Output
Geeks For Geeks
6. Split(Char[], Int32)
This method is used to splits the string into a maximum number of substrings based on the characters in an array passed as a seperator. We can also specify the maximum number of substrings which we want to return.
public String[] Split(char[] separator, int count);
Example:
// C# program to illustrate Split(Char[], Int32)
using System;
class Geeks
{
static void Main(string[] args)
{
// Declaring and initializing the string
string s = "Geeks,For Geeks";
// Character array of separators
char[] sp = { ',', ' ' };
// Using the split method
string[] list = s.Split(sp, 3);
foreach(string i in list)
{
Console.WriteLine(i);
}
}
}
Output
Geeks For Geeks