我有一个输入字符串,
string str1 = "aabcccabdfa";
我想计算每个角色的出现次数并将其放在该角色的旁边。所以我需要输出结果为"a4b2c3d1f1"
。如何使用LINQ实现这一目标?
我尝试使用“词典”来做到这一点,但无法做到这一点。
谢谢,
答案 0 :(得分:3)
这样做:
string str1 = "aabcccabdfa";
string.Concat(str1.GroupBy(c => c).OrderBy(c => c.Key).Select(c => c.Key.ToString() + c.Count()));
答案 1 :(得分:0)
string str1 = "aabcccabdfa";
var result=string.Concat(str1.GroupBy(a=>a)
.Select(a=>a.Key.ToString()+a.Count().ToString()));
答案 2 :(得分:-1)
string str1 = "aabcccabdfa";
var output = "";
str1.ToArray().Distinct().ToList().ForEach(x => output += x + (str1.Count(f => f == x).ToString()));