我如何从文本框中获取中间名?

时间:2019-03-02 12:00:05

标签: c#

因此,我有一个文本框,用户可以在其中输入他/她的全名,如果用户输入的名称像“约翰·威廉·内森·史密斯”(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

1 个答案:

答案 0 :(得分:3)

假设:人们名字的不同部分总是用一个空格隔开,中间名定义为第一个和最后一个空格之间的所有内容。

(请注意,这种假设并非一直都是正确的,人们可以使用各种名称)

您可以先致电Skip,然后再致电Take,然后将他们加入到一起:

string[] name = fullname.Split(' ');
string middleName = string.Join(" ", name.Skip(1).Take(name.Length - 2));