如何读取由一个输入行的空格分隔的多个输入?

时间:2013-05-23 07:56:05

标签: c# input

假设我有一个程序要求输入全名:

string firstName;
string surName;

Console.Write("Enter your full name:");

假设用户输入字符串“Santa Clause”

如果我使用:

firstName = Console.ReadLine();

“Santa Clause”将存储到firstName,但我只想要“Santa”部分。

当两个或多个单词被空格分隔时,有没有办法只读取第一个单词?是否还有一种方法可以阅读其他词语(如“Clause”)?

5 个答案:

答案 0 :(得分:6)

  

当有两个或更多单词时,是否有办法只读取第一个单词   被空格隔开?

您可以使用String.Split()方法。

  

返回包含此实例中的子字符串的字符串数组   由指定的Unicode字符数组的元素分隔。

像;

string firstName = "Santa Clause";
string[] splitedNames = firstName.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(splitedNames[0]);

输出将是;

Santa

这是DEMO

  

是否还有一种方法可以阅读其他词语(如“Clause”)?

当然,由于String.Split返回一个字符串数组,您可以使用splitedNames[1]splitedNames[2]等数组的索引号查找其他单词。

答案 1 :(得分:2)

尝试Console.ReadLine().Split(' '),它会为您提供string[]

答案 2 :(得分:2)

使用string.Split()方法:

var fullName = Console.ReadLine()
firstName = fullName.Split(' ')[0];
surName = fullName.Split(' ')[1];

答案 3 :(得分:2)

String.Split Method是你的朋友:

string full = "Santa Clause";
string[] parts = full.Split(' ');
string first = parts[0];
string last = parts[1];

答案 4 :(得分:0)

var fullName = Console.ReadLine();
fullName = fullName.Split(' ')[0];

var firstName = fullName[0];
var surName = fullname[1];

这假设用户输入正确的输入,例如“Santa Clause”,否则应用程序将失效。