如何在每个逗号处打破一个字符串?

jor*_*ame 1 .net c# asp.net string

大家好我手头有一个问题,我似乎无法弄明白,我有一个字符串(C#)看起来像这样:

string tags = "cars, motor, wheels, parts, windshield";
Run Code Online (Sandbox Code Playgroud)

我需要在每个逗号处打破这个字符串,并将每个单词分配给一个新的字符串,如:

string individual_tag = "car";
Run Code Online (Sandbox Code Playgroud)

我知道我必须在这里做一些循环,但我不确定如何处理这个问题,任何帮助都会非常感激.

Jus*_*ner 10

不需要循环.只需致电Split():

var individualStrings = tags.Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries);
Run Code Online (Sandbox Code Playgroud)


Pra*_*ana 7

利用Split功能将完成你的任务......

string[] s = tags.Split(',');
Run Code Online (Sandbox Code Playgroud)

要么

String.Split方法(Char [],StringSplitOptions)

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


Dam*_*ith 7

您可以使用String.Split方法之一

Split Method (Char[])
Split Method (Char[], StringSplitOptions)
Split Method (String[], StringSplitOptions)
Run Code Online (Sandbox Code Playgroud)

让我们尝试第二个选项:我给予,和空格作为拆分字符然后在每个字符出现输入字符串将被拆分,但结果中可能有空字符串.我们可以使用StringSplitOptions.RemoveEmptyEntries参数删除它们.

string[] tagArray = tags.Split(new char[]{',', ' '},
                               StringSplitOptions.RemoveEmptyEntries);
Run Code Online (Sandbox Code Playgroud)

要么

 string[] tagArray = s.Split(", ".ToCharArray(), 
                               StringSplitOptions.RemoveEmptyEntries);
Run Code Online (Sandbox Code Playgroud)

您可以访问每个标记:

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 
}
Run Code Online (Sandbox Code Playgroud)