我不会用正斜杠分割字符串
我当前的代码如下所示:
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();