基于列表C#中项目的第一个和最后一个字符进行区分

PrzemysławSz

我有一个字符串列表:

"55002",
"81512",
"81612",
"84515",
"84615",
"86358",
"86358",
"91128",
"94002"

我想在该列表中找到具有相同的2个首字符和相同的最后一个字符的项目,然后从列表中删除具有较低中间字符的项目。在这个例子中,相同的是:8151281612我想删除81512,同样会8451584615我想删除84515等。

罗伊·纳米尔(Roi Namir)

您可以尝试以下方法:

var g = new string[] {"55002",  ...};

var t=g.GroupBy(f => f.Substring(0, 2))
       .Select(f =>f.OrderByDescending(a =>a ).First());

结果:

55002 
91128 
81612 
84615 
86358 
94002 

更新:

我可能错过了groupby应该同时计算最后两个字符的情况。

如果是这样的话:

var t=g.GroupBy(f => f.Substring(0, 2)+f.Substring( f.Length-2))
       .Select(f =>f.OrderByDescending(a =>a ).First());

为了可视化:

看这段代码:

    var g = new string[] {"55002",
"91128",
"81512",
"81712",
"81612",
"84516",
"84216",
"84615",
"86358",
"86358",
"94002"};

    var t = g.GroupBy(f => f.Substring(0, 2) + f.Substring(f.Length - 2)).Select(f => new { key = f.Key, group = f.OrderByDescending(a => a)});
    Console.Write(t);

我们将按“键”分组,并在每个正确的分组中排在第一位:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C#根据项目的第一个字符在列表框中添加/减去/相乘/划分不同的项目

C#如何交换字符串中的第一个字符与最后一个字符

如何在C#中删除字符串的第一个和最后一个字符?

删除第一个和最后一个字符 Groovy

返回范围,字符串中的第一个和最后一个字符

比较python中字符串的第一个和最后一个字符

交换字符串中的最后一个和第一个字符

字符串中第一个和最后一个字符的范围

Bash删除字符串中的第一个和最后一个字符

如何从字符串中删除第一个和最后一个字符?

从字符串中删除第一个和最后一个字符

替换字符串中的第一个和最后一个字符(javascript)

如何从列表中的每个项目中提取第一个字符并进行操作

删除vba中的第一个和最后一个字符

如何从Multimap的String表示中删除第一个和最后一个字符?

替换文件中每行的第一个和最后一个字符

从多个标题大小的第一个和最后一个字符中删除空格

如何屏蔽 Swift 中的第一个和最后一个字符?

如何使用`Util class`从长字符串中获取最后一个字符和第一个字符?

C#正则表达式匹配排除第一个和最后一个字符

确保文本框的第一个和最后一个字符为数字c#

如何从C#的列表中获取第一个字符串?

如何从共享点列表项C#中删除第一个字符

基于第一个字符的拆分列表-Python

如何在python scrapy中删除数组中项目的第一个字符

检查第一个字符是否与最后一个字符相同?

如何删除字符串的第一个和最后一个字符

Python检查字符串的第一个和最后一个字符

检查第一个和最后一个字符是否包含给定的特殊字符