微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 每两个字符后添加一个空格,并在每个字符前面添加一个字符

我想在每两个字符后添加一个空格,并在每个字符前添加一个字符.

这是我的代码

string str2;
str2 = str1.tochararray().Aggregate("",(result,c) => result += ((!string.IsNullOrEmpty(result) && (result.Length + 1) % 3 == 0) ? " " : "") + c.ToString());

我用一个空格分隔每两个字符没有问题,但我怎么知道分离的字符串是否有一个单独的字符,并添加该字符前面的字符?

我明白我的问题很混乱,因为我不确定如何把我想要的东西放在文字中……
所以我只举一个例子:

我有这个字符串:

0123457

用空格分隔每两个字符后,我会得到:

01 23 45 7

我想在7前面添加一个6.

注意:数字取决于用户的输入,因此并不总是相同.

谢谢.

解决方法

我想这就是你要求的

string str1 = "3322356";
            string str2;

            str2 = String.Join(" ",str1.tochararray().Aggregate("",c) => result += ((!string.IsNullOrEmpty(result) &&
                    (result.Length + 1) % 3 == 0) ? " " : "") + c.ToString())
                    .Split(' ').ToList().Select(
                x => x.Length == 1 
                    ? String.Format("{0}{1}",Int32.Parse(x) - 1,x) 
                    : x).ToArray());

结果是“33 22 35 56”

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐