CSharp - String Splitting and joining

Introduction

Split divides a string up into pieces:

Demo

using System;
class MainClass/*from   w w  w. ja v a 2s.  c  o  m*/
{
   public static void Main(string[] args)
   {
         string[] words = "this is a test".Split();
    
         foreach (string word in words)
           Console.Write (word + "|"); 
   }
}

Result

By default, Split uses whitespace characters as delimiters.

Split method is overloaded to accept a params array of char or string delimiters.

Split optionally accepts a StringSplitOptions enum, which has an option to remove empty entries.

Join method does the reverse of Split. It requires a delimiter and string array:

Demo

using System;
class MainClass//  ww  w .ja  v  a  2  s .co  m
{
   public static void Main(string[] args)
   {
     string[] words = "this is a test".Split();
     string together = string.Join (" ", words);    
     Console.WriteLine(together);
   }
}

Result

Concat method is similar to Join but accepts only a params string array and applies no separator.

Concat is equivalent to the + operator.

Demo

using System;
class MainClass/*from w  w w .  j a v a2s  .c  o m*/
{
   public static void Main(string[] args)
   {
         string sentence     = string.Concat ("a", " b", " c", " d");
         Console.WriteLine(sentence);
         string sameSentence = "a" + " b" + " c" + " d";
         Console.WriteLine(sameSentence);

   }
}

Result

Quiz