因此,我有一个文本框,用户可以在其中输入他/她的全名,如果用户输入的名称像“约翰·威廉·内森·史密斯”(John William Nathan Smith)这样,我怎么只能得到“内森·史密斯”。在这种情况下,可能是“约翰·威廉·内森”,而我需要“威廉”。我该如何找回呢?
我做了一个名为name
的数组,如下所示:
string fullname = txtFull.Text;
string[] name = fullname.Split(null);
txtFirst.Text = name.First();
txtLast.Text = name.Last();
txtMid.Text = name[1] + " " + name[(name.Length - 2)]; //textbox to output
答案 0 :(得分:3)
假设:人们名字的不同部分总是用一个空格隔开,中间名定义为第一个和最后一个空格之间的所有内容。
(请注意,这种假设并非一直都是正确的,人们可以使用各种名称)
您可以先致电Skip
,然后再致电Take
,然后将他们加入到一起:
string[] name = fullname.Split(' ');
string middleName = string.Join(" ", name.Skip(1).Take(name.Length - 2));