How to break a string at each comma?

Hi guys I have a problem at hand that I can’t seem to figure out, I have a string (C#) which looks like this:

string tags = "cars, motor, wheels, parts, windshield";

I need to break this string at every comma and get each word assign to a new string by itself like:

string individual_tag = "car";

I know I have to do some kind of loop here but I’m not really sure how to approach this, any help will be really appreciate it.

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

No loop needed. Just a call to Split():

var individualStrings = tags.Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries);

Solution 2

You can use one of String.Split methods

Split Method (Char[])
Split Method (Char[], StringSplitOptions)
Split Method (String[], StringSplitOptions)

let’s try second option:
I’m giving , and space as split chars then on each those character occurrence input string will be split, but there can be empty strings in the results. we can remove them using StringSplitOptions.RemoveEmptyEntries parameter.

string[] tagArray = tags.Split(new char[]{',', ' '},
                               StringSplitOptions.RemoveEmptyEntries);

OR

 string[] tagArray = s.Split(", ".ToCharArray(), 
                               StringSplitOptions.RemoveEmptyEntries);

you can access each tag by:

foreach (var t in tagArray )
{
    lblTags.Text = lblTags.Text + " " + t; // update lable with tag values 
    //System.Diagnostics.Debug.WriteLine(t); // this result can be see on your VS out put window 
}

Solution 3

make use of Split function will do your task…

string[] s = tags.Split(',');

or

String.Split Method (Char[], StringSplitOptions)

char[] charSeparators = new char[] {',',' '};
string[] words = tags.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);

Solution 4

string[] words = tags.Split(',');

Solution 5

You are looking for the C# split() function.

string[] tags = tags.Split(',');

Edit:

string[] tag = tags.Trim().Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries);

You should definitely use the form supplied by Justin Niessner. There were two key differences that may be helpful depending on the input you receive:

  1. You had spaces after your ,s so it would be best to split on ", "

  2. StringSplitOptions.RemoveEmptyEntries will remove the empty entry that is possible in the case that you have a trailing comma.

Solution 6

Program that splits on spaces [C#]

using System;
class Program
{
    static void Main()
    {
        string s = "there, is, a, cat";
        string[] words = s.Split(", ".ToCharArray());
    foreach (string word in words)
    {
        Console.WriteLine(word);
    }
    }
}

Output

there
is
a
cat

Reference

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply