我想在2个字符之后添加字符串中的空格(来自数组的字符串),例如:
1234567890
应为12 34 56 78 90
,有任何建议吗?
答案 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)
我建议按照以下步骤进行操作
创建一个For循环,它将遍历输入字符串的长度。
在每次运行For循环期间,将字符串的元素连接到结果,即
结果+ =输入[I];
在for循环内跟踪计数,并在每个count%2 == 0
concat空间后跟踪结果。
结果+ =“”;
希望这有帮助。