加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 20:50:10 所属栏目:百科 来源:网络整理
导读:我想在每两个字符后添加一个空格,并在每个字符前添加一个字符. 这是我的代码: string str2;str2 = str1.ToCharArray().Aggregate("",(result,c) = result += ((!string.IsNullOrEmpty(result) (result.Length + 1) % 3 == 0) ? " " : "") + c.ToString());
我想在每两个字符后添加一个空格,并在每个字符前添加一个字符.

这是我的代码:

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”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读