4

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

string firstName;
string surName;

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

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

如果我使用:

firstName = Console.ReadLine();

“圣诞老人”将存储到名字,但我只想要“圣诞老人”部分。

当两个或多个单词用空格分隔时,有没有办法只读取第一个单词?还有一种方法可以阅读其他单词(例如“从句”)吗?

4

5 回答 5

8

当两个或多个单词用空格分隔时,有没有办法只读取第一个单词?

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

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

喜欢;

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

输出将是;

Santa

这是一个DEMO.

还有一种方法可以阅读其他单词(例如“从句”)吗?

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

于 2013-05-23T08:00:44.540 回答
2

试试Console.ReadLine().Split(' ')哪个会给你string[]

于 2013-05-23T07:59:45.427 回答
2

使用 string.Split() 方法:

var fullName = Console.ReadLine()
firstName = fullName.Split(' ')[0];
surName = fullName.Split(' ')[1];
于 2013-05-23T08:00:43.070 回答
2

String.Split方法是你的朋友:

string full = "Santa Clause";
string[] parts = full.Split(' ');
string first = parts[0];
string last = parts[1];
于 2013-05-23T08:01:53.793 回答
0
var fullName = Console.ReadLine();
fullName = fullName.Split(' ')[0];

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

这是假设用户输入正确的输入,例如“圣诞老人”,否则应用程序将失败。

于 2013-05-23T08:00:08.640 回答