我有一个包含一些重复项的字符串列表。它们不是完全重复的,因为有些包含不同位置的空格。列表示例:
best shoes for flat feet
bestshoes for flat feet
best shoesfor flatfeet
best shoes for flatfeet
现在我想要做的是删除所有这些重复的字符串,只保留带有MOST空格的字符串(我们假设这是正确的间距)。
有人可以推荐我一种方法来实现这个目标吗?
答案 0 :(得分:3)
您可以使用LINQ' GroupBy
:
var res = orig
.GroupBy(s => Regex.Replace(s, @"\s+", ""))
.Select(g => g.OrderByDescending(s => s.Length).First())
.ToList();