LINB中的GroupBy字符串和计数

3 linq

我有一个收藏品.coll有字符串:

Location="Theater=1, Name=regal, Area=Area1"

Location="Theater=34, Name=Karm, Area=Area4445"
Run Code Online (Sandbox Code Playgroud)

等等.我必须从字符串中提取名称位.例如,在这里我必须提取文本'regal'并对查询进行分组.然后显示结果为

Name=regal Count 33
Name=Karm  Count 22
Run Code Online (Sandbox Code Playgroud)

我正在努力解决这个问题:

Collection.Location.GroupBy(????);(这里添加什么)

这是最简短,最精确的方法吗?

CMS*_*CMS 10

另一种Linq + Regex方法:

string[] Location = {
                        "Theater=2, Name=regal, Area=Area1",
                        "Theater=2, Name=regal, Area=Area1",
                        "Theater=34, Name=Karm, Area=Area4445"
                    };

var test = Location.Select(
                            x => Regex.Match(x, "^.*Name=(.*),.*$")
                                      .Groups[1].Value)
                   .GroupBy(x => x)
                   .Select(x=> new {Name = x.Key, Count = x.Count()});
Run Code Online (Sandbox Code Playgroud)

查询测试字符串的结果