c# - 用正斜杠分隔带空格和正斜杠的字符串

标签 c#

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

我当前的代码如下所示:

  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();

关于c# - 用正斜杠分隔带空格和正斜杠的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21658079/

相关文章:

c# - 简单注入(inject)器的生活方式作为缓存解决方案

c# - 串口问题

c# - 由 Key 以外的其他内容索引的 SortedList

c# - 不能加倍。解析字符串

c# - 字符串加倍问题,点被删除

C#正则表达式匹配

c# - 如何避免屏幕闪烁?

c# - datagridview cellclick 事件的工作原理类似于 cellcontentclick

c# - 使用 MEF 导入从给定接口(interface)继承的类型

c# - Mono for Android,读取和写入 XLSX