如果我有一个字符串变量值如下: -
string mystring = "TYPE1, TYPE1, TYPE2, TYPE2, TYPE3, TYPE3, TYPE4, TYPE4";
Run Code Online (Sandbox Code Playgroud)
我想操纵这个字符串并按如下方式进行操作: -
string mystring = "TYPE1,TYPE2,TYPE3,TYPE4";
Run Code Online (Sandbox Code Playgroud)
即我想删除其中的所有重复项,我该怎么办?
请帮忙.谢谢.
Jon*_*eet 11
好吧,这是一个LINQ方法:
string deduped = string.Join(",", original.Split(',')
.Select(x => x.Trim())
.Distinct());
Run Code Online (Sandbox Code Playgroud)
请注意,我正在使用,Trim因为您的原始字符串在每个项目前都有空格,但结果却没有.
Distinct()实际上并不保证将保留排序,但当前的实现是这样做的,这也是最自然的实现.我发现很难想象它会改变.
如果您使用的是.NET 3.5,则需要调用.ToArray()after,Distinct()因为string.Join.NET 4之前的重载次数较少.
您可以执行以下操作:
var parts = mystring.Split(',').Select(s => s.Trim()).Distinct().ToList();
string newString = String.Join(",", parts);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |