C# 对字符串行中出现的值进行计数

C# 对字符串行中出现的值进行计数,c#,php,excel,count,C#,Php,Excel,Count,我有一排像这样的:a b a b a b 我需要代码打印出来:2a 3b 1a 1b 2a 2b 如何在c中实现这一点 编辑 我需要像这样计算值:有2个a,3个b,1个a,1个b,2个a,2个b。 我不需要计算a和b的总数 我读的是一个矩阵,对角逐值: 如果我有这样的矩阵: a a b a a b a b a b b a 1row: 1a 2row: 2b 3row: 1b2a 4row: 2b1a 5row: 2a 6row: 1a 我设法从右下角向上读取矩阵,并将值放入行中: 1r

我有一排像这样的:a b a b a b 我需要代码打印出来:2a 3b 1a 1b 2a 2b

如何在c中实现这一点

编辑 我需要像这样计算值:有2个a,3个b,1个a,1个b,2个a,2个b。 我不需要计算a和b的总数

我读的是一个矩阵,对角逐值: 如果我有这样的矩阵:

 a a b a
 a b a b
 a b b a
1row: 1a
2row: 2b
3row: 1b2a
4row: 2b1a
5row: 2a
6row: 1a
我设法从右下角向上读取矩阵,并将值放入行中:

1row: a
2row: bb
3row: baa
4row: bba
5row: aa
6row: a
但我需要这个看起来像这样:

 a a b a
 a b a b
 a b b a
1row: 1a
2row: 2b
3row: 1b2a
4row: 2b1a
5row: 2a
6row: 1a

这里有一个正则表达式方法

string input = "aabbbabaabb";
string result = string.Concat(Regex.Matches(input, @"(.)\1*", RegexOptions.None)
                      .Cast<Match>()
                      .Select(x => string.Concat(x.Length, x.Value.First())));

C和php?你试过什么?你的要求是什么?比如,2a 3b 1a 2b 2a 2b是在什么条件下产生的。它假设这样计算出现的次数:有2个a,然后是3个b,然后是1a,然后是2个b……任何语言?听起来你想让我们做你的工作。也许有人能因为他/她很好就帮我这么做?无论如何也许有人能用像D这样的语言或其他一些你不懂的奇怪语言给你答案。看来你应该看看是的,反正是tnx。