C#,在同一行解析多个数字

时间:2013-06-17 11:16:00

标签: c# .net file parsing format

如果我得到这样的一行:

6 3 3 3 33 3 3 3 3 7 2 1 1 1 11 1 1 1 13 2 2 1 1 1 1 1 1 21 1 2 2

我如何将它解析为C#中的int数组?问题是我没有确定数量的数字和要解析的特定数字位数。

3 个答案:

答案 0 :(得分:7)

string numbersString = "6 3 3 3 33 3 3 3 3 7 2 1 1 1 11 1 1 1 13 2 2 1 1 1 1 1 1 21 1 2 2";
var numbers = numbersString.Split().Select(token => int.Parse(token)).ToArray();

假设您的所有数字都属于整数范围。

更新。当然,只有在每个字符串部分代表一个有效整数时才会有效 - 否则int.Parse将会失效。

答案 1 :(得分:3)

您可以使用Split

string test = "A B C D E F G";
var array = test.Split(' ');

答案 2 :(得分:0)

首先挖掘String.Split API调用,然后进行类型转换以将字符串转换为数字。

http://msdn.microsoft.com/en-us/library/ms228388.aspx是一个很好的起点。