可查询的order /GroupBy正则表达式
本文关键字:GroupBy 正则表达式 order 查询 | 更新日期: 2023-09-27 18:11:24
我有一个iquerable结果,其名称看起来像这样:
100lbs
10pts
150lbs
11pts
15pt
10pt
我想把结果按后面的字母分组,这样结果看起来更像这样:
100lbs
150lbs
10pt
15pt
10pts
11pts
是否可能/如何使用正则表达式来完成此操作?
我不知道你的linq语句是什么样子的但是你可以尝试创建一个伪变量来对
进行排序像somethink
var result =
(from c in db.Table
select new
{
mainresult = c.mainresult,
tempresult ==c.mainresult,
}
).ToList().Select(c=>new{
mainresult = c.mainresult,
tempresult=new string(c.mainresult
.Where(!char.IsDigit).ToArray())})
.OrderBy(c=>c.tempresult)
.Select(c=>c.mainresult)
.ToList();
var list = new List<string>();
list.Add("100lbs");
list.Add("10lbs");
list.Add("10pts");
var groupings = list.GroupBy((s)=>{
if (s.EndsWith("lbs"))//you can use regex here
{
return "lbs";
}
else if (s.EndsWith("lbs"))
{
return "pts";
}
return "none";
},s=>s);
foreach (var item in groupings)
{
item.key will have category "lbs"/"pts"
}