C#在字符串中添加少量字符后添加空格

时间:2011-03-14 18:56:30

标签: character space

我想在2个字符之后添加字符串中的空格(来自数组的字符串),例如: 1234567890应为12 34 56 78 90,有任何建议吗?

4 个答案:

答案 0 :(得分:4)

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

// --> 01 23 56 72 36 35 97 83 59 02 03 58 28 35

答案 1 :(得分:3)

你可能不得不这样做:

int i = 0;
int amount = 2;
string s = "1234567890";
string withspaces = "";

while (i+amount < s.Length) {
  s += s.Substring(i,i+amount);
  s += " ";
  i = i + amount;
}

这可能会对字符串的使用造成很大影响,因此请务必阅读有效的字符串连接

答案 2 :(得分:0)

如果您希望专门格式化固定数量的数字,例如上面的例子,以下内容将满足您的需求。

int n = 1234567890;
string s = String.Format("{0:00 00 00 00 00}", n);

注意,这假定您的1234567890存储为数字。如果n的类型为string,则不会格式化。您可以通过在格式化之前将n转换为数字来解决此问题。

如果你有无限数量的字符,你需要一个更多的解决方案。

答案 3 :(得分:0)

我建议按照以下步骤进行操作

  1. 创建一个For循环,它将遍历输入字符串的长度。

  2. 在每次运行For循环期间,将字符串的元素连接到结果,即

    结果+ =输入[I];

  3. 在for循环内跟踪计数,并在每个count%2 == 0 concat空间后跟踪结果。

    结果+ =“”;

  4. 希望这有帮助。