如何在 C# 中读取 space 分隔或换行符分隔的控制台输入?
How to read console input either space separated or newline separated in C#?
我测试中提供的输入有时由 </code> 分隔,有时由 <code>\n
.
分隔
我想在最后将这些输入存储在一个数组中。
示例输入:
1 2 3 4 5
(space分开)
1\n2\n3\n4\n5
(换行分隔)
我可以 Split
分隔 space 中的输入,但我不知道如何分隔换行符。
Console.WriteLine("Enter Input");
var input = Console.ReadLine();
string[] inputArray = input.Trim().Split(' ');
int[] numbers = Array.ConvertAll(inputArray, int.Parse);
您可以为此使用 String.Split Method (Char[])。
.Split(new Char[] {' ', '\n' });
正如您在下面看到的,我在输入字符串中同时放置了 \n
和 </code>。如果在 <code>int[] numbers
赋值之后放置断点,您可以看到 inputArray
是 Split
正确:
Console.WriteLine("Enter Input");
//var input = "1 2 3 4 5";
var input = "1\n2\n3\n4 5\n6 7 8\n9";
string[] inputArray = input.Trim().Split(new Char[] {' ', '\n' });
int[] numbers = Array.ConvertAll(inputArray, int.Parse);
我测试中提供的输入有时由 </code> 分隔,有时由 <code>\n
.
我想在最后将这些输入存储在一个数组中。
示例输入:
1 2 3 4 5
(space分开)
1\n2\n3\n4\n5
(换行分隔)
我可以 Split
分隔 space 中的输入,但我不知道如何分隔换行符。
Console.WriteLine("Enter Input");
var input = Console.ReadLine();
string[] inputArray = input.Trim().Split(' ');
int[] numbers = Array.ConvertAll(inputArray, int.Parse);
您可以为此使用 String.Split Method (Char[])。
.Split(new Char[] {' ', '\n' });
正如您在下面看到的,我在输入字符串中同时放置了 \n
和 </code>。如果在 <code>int[] numbers
赋值之后放置断点,您可以看到 inputArray
是 Split
正确:
Console.WriteLine("Enter Input");
//var input = "1 2 3 4 5";
var input = "1\n2\n3\n4 5\n6 7 8\n9";
string[] inputArray = input.Trim().Split(new Char[] {' ', '\n' });
int[] numbers = Array.ConvertAll(inputArray, int.Parse);