如何在 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 赋值之后放置断点,您可以看到 inputArraySplit 正确:


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);

[DEMO HERE]