我不会用正斜杠分割字符串

我当前的代码如下所示:

  string value = "Ctws Cwts/Rotc/Lts Ctws";
  string[] tokens = value.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
  foreach (var token in tokens)
  {
      Console.Write(token);
  }


输出是这样的:“ Cwts Cwts”,“ Rotc”,“ Lts Cwts”

现在我希望我的输出是这个:“ Cwts”,“ Rotc”,“ Lts”

编辑:

一些答案表明我将使用Distinct()

如果值是:“ Something1 Cwts / Rotc / Lts Something2”,该怎么办?

输出应相同:“ Cwts”,“ Rotc”,“ Lts”

最佳答案

只需使用Distinct

  string[] tokens = value
              .Split(new char[] { '/', ' ' }, StringSplitOptions.RemoveEmptyEntries)
              .Distinct();

也不要忘记在分隔符中包含空格
根据您的编辑,如果您想要完全这些值,则可以执行以下操作:"Cwts", "Rotc", "Lts"用于所有输入
var values = new List<string> { "Cwts", "Rotc", "Lts" };
string[] tokens = value
              .Split(new char[] { '/', ' ' }, StringSplitOptions.RemoveEmptyEntries)
              .Where(t => values.Contains(t))
              .Distinct();

10-06 09:11