我想在 2 个字符后的字符串(数组中的字符串)中添加空格,例如:
1234567890
应该是12 34 56 78 90
,有什么建议怎么做?
问问题
10177 次
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则不会格式化string
。n
您可以通过在格式化之前转换为数字来 克服这个问题。
如果您有无限数量的字符,您将需要一个更通用的解决方案。
于 2011-03-14T19:06:05.947 回答
0
我会推荐以下步骤
创建一个将遍历输入字符串长度的 For 循环。
在每次运行 For 循环期间,将字符串的第 i 个元素连接到结果中,即
结果+=输入[i];
在 for 循环内部跟踪计数,并在每个
count%2 == 0
concat 空间之后跟踪结果。结果+="";
希望这可以帮助。
于 2011-03-14T19:09:13.887 回答