Split String In C#

C# Split String

The String.Split() method splits a string into an array of strings separated by the split delimiters. The split delimiters can be a character or an array of characters or an array of strings. The code examples in this article discuss various forms of String.Split method and how to split strings using different delimiters in C# and .NET.

Table 1 lists String.Split() method overloaded forms. 

Method Description
Split(String[], Int32, StringSplitOptions) Splits a string into a maximum number of substrings based on the strings in an array. You can specify whether the substrings include empty array elements.
Split(Char[], Int32, StringSplitOptions) Splits a string into a maximum number of substrings based on the characters in an array.
Split(String[], StringSplitOptions) Splits a string into substrings based on the strings in an array. You can specify whether the substrings include empty array elements.
Split(Char[]) Splits a string into substrings that are based on the characters in an array.
Split(Char[], StringSplitOptions) Splits a string into substrings based on the characters in an array. You can specify whether the substrings include empty array elements.
Split(Char[], Int32) Splits a string into a maximum number of substrings based on the characters in an array. You also specify the maximum number of substrings to return.

Table 1.

Split String Into an Array

The simplest form of string split is splitting a string into an array of substrings separated by a character such as a comma. Listing 1 is the code example that has a string of author names separated by a comma and a space. The authors.Split method splits the string into an array of author names that are separated by a comma and space. 

Console.WriteLine("Comma separated strings");  
// String of authors  
string authors = "Mahesh Chand, Henry He, Chris Love, Raj Beniwal, Praveen Kumar";  
// Split authors separated by a comma followed by space  
string[] authorsList = authors.Split(", ");  
foreach (string author in authorsList)  
Console.WriteLine(author);  

Listing 1.

The result of the Listing 1 code example looks like Figure 1.

 

Figure 1. Spilt String in an array of substrings

Split String using multiple characters 

String.Split method can also separate strings based on multiple characters in the same method. The Split method takes an argument of an array of characters and splits the string based on all the characters in the array.

Listing 2 is an example of splitting a string into an array of strings based on several characters.

Console.WriteLine("Split with multiple separators");  
// Split with multiple separators  
string multiCharString = "Mahesh..Chand, Henry\n He\t, Chris-Love, Raj..Beniwal, Praveen-Kumar";  
// Split authors separated by a comma followed by space  
string[] multiArray = multiCharString.Split(new Char [] {' ', ',', '.', '-', '\n', '\t' } );  
foreach (string author in multiArray)  
{  
    if (author.Trim() != "")  
        Console.WriteLine(author);  
}  

Listing 2. Split String based on an array of characters

Split String delimited by a string or an array of strings

String.Split method can also separate a string based on a substring or several strings in the string. The Split method takes an argument of an array of substrings or strings.

Listing 3 is an example of splitting a string into an array of strings based on being separated by two substrings.

Console.WriteLine("Split String delimited by another string");  
              
string stringString = "Mahesh Chand, Neel Chand Beniwal, Raj Beniwal, Dinesh Beniwal";  
// String separator  
string[] stringSeparators = new string[] { "Beniwal, ", "Chand, " };  
string[] firstNames = stringString.Split(stringSeparators, StringSplitOptions.None );  
foreach (string firstName in firstNames)  
        Console.WriteLine(firstName);  

Listing 3. Split String based on an array of strings

Code Example

Listing 4 is the complete code example of Split.String. 

using System;  
  
namespace SplitString  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Console.WriteLine("Comma separated strings");  
            // String of authors  
            string authors = "Mahesh Chand, Henry He, Chris Love, Raj Beniwal, Praveen Kumar";  
            // Split authors separated by a comma followed by space  
            string[] authorsList = authors.Split(", ");  
            foreach (string author in authorsList)  
                Console.WriteLine(author);  
  
            Console.WriteLine("Split with multiple separators");  
            // Split with multiple separators  
            string multiCharString = "Mahesh..Chand, Henry\n He\t, Chris-Love, Raj..Beniwal, Praveen-Kumar";  
            // Split authors separated by a comma followed by space  
            string[] multiArray = multiCharString.Split(new Char [] {' ', ',', '.', '-', '\n', '\t' } );  
            foreach (string author in multiArray)  
            {  
                if (author.Trim() != "")  
                    Console.WriteLine(author);  
            }  
  
  
            Console.WriteLine("Split String delimited by another string");  
              
            string stringString = "Mahesh Chand, Neel Chand Beniwal, Raj Beniwal, Dinesh Beniwal";  
            // String separator  
            string[] stringSeparators = new string[] { "Beniwal, ", "Chand, " };  
            string[] firstNames = stringString.Split(stringSeparators, StringSplitOptions.None );  
            foreach (string firstName in firstNames)  
                    Console.WriteLine(firstName);  
           
            Console.ReadKey();  
        }  
    }  
}  

Listing 4.

The result of the Listing 4 code example looks like Figure 2.

  

Figure 2. String.Split example

Learn more on C# Strings

Complete Tutorial on C# Strings 

Here are some more similar articles related to strings in .NET with C#.


Similar Articles
Mindcracker
Founded in 2003, Mindcracker is the authority in custom software development and innovation. We put best practices into action. We deliver solutions based on consumer and industry analysis.