我有这样的一行:a a b b b a b a a b b 我需要代码打印出来:2a 3b 1a 1b 2a 2b
如何在c#
中执行此操作EDIT 我需要像这样计算值:b中有2个然后是b中的1个然后是b中的1个然后是b中的2个中的2个。 我不需要计算a和b的总数。
我正在读取一个矩阵,按对角值的值: 如果我有这样的矩阵:
a a b a
a b a b
a b b a
我设法从右下角读取矩阵 - 向上并将值放在行中:
1row: a
2row: bb
3row: baa
4row: bba
5row: aa
6row: a
但我需要看起来像这样:
1row: 1a
2row: 2b
3row: 1b2a
4row: 2b1a
5row: 2a
6row: 1a
答案 0 :(得分:1)
这是RegEx方法
string input = "aabbbabaabb";
string result = string.Concat(Regex.Matches(input, @"(.)\1*", RegexOptions.None)
.Cast<Match>()
.Select(x => string.Concat(x.Length, x.Value.First())));