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

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

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

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

 string individual_tag = "car"; 

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

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

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

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

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

要么

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

你可以访问每个标签:

 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 } 

不需要循环。 只需调用Split()

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

利用Splitfunction将完成你的任务……

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

要么

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

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

您正在寻找C# split()函数。

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

编辑

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

你一定要使用Justin Niessner提供的表格。 根据您收到的输入,有两个关键差异可能会有所帮助:

  1. 在你之后你有空格,所以最好分开", "

  2. StringSplitOptions.RemoveEmptyEntries将删除在您有尾随逗号的情况下可能的空条目。

拆分空间的程序[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); } } } 

产量

 there is a cat 

参考