0

我想在 2 个字符后的字符串(数组中的字符串)中添加空格,例如: 1234567890应该是12 34 56 78 90,有什么建议怎么做?

4

4 回答 4

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
于 2011-03-14T19:22:44.647 回答
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;
}

这可能对字符串的使用很重要,因此请确保您阅读了有效的字符串连接

于 2011-03-14T19:08:15.463 回答
0

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

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

请注意,这假设您1234567890的存储为数字。如果n是 type则不会格式化stringn您可以通过在格式化之前转换为数字来 克服这个问题。

如果您有无限数量的字符,您将需要一个更通用的解决方案。

于 2011-03-14T19:06:05.947 回答
0

我会推荐以下步骤

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

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

    结果+=输入[i];

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

    结果+="";

希望这可以帮助。

于 2011-03-14T19:09:13.887 回答