首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将全名分为首名、末名和标题

将全名分为首名、末名和标题
EN

Stack Overflow用户
提问于 2019-11-21 11:43:20
回答 2查看 1.4K关注 0票数 0

列的示例

我有一个名为FULLNAME的专栏,它由一个由空格分隔的FIRSTNAME和姓氏的变体组成,标题FIRSTNAME和姓氏都由一个空格隔开。例如,我可以请约翰·史密斯或约翰·史密斯博士。

我正在使用C#在视觉工作室。

我按如下所示循环遍历其中的每一个:

代码语言:javascript
复制
 foreach (DataRow dr in spreadsheetdata.Tables["EPABase"].Rows)

我的标题数组如下:

代码语言:javascript
复制
            title[0] = "Mr";
            title[1] = "Mrs";
            title[2] = "Miss";
            title[3] = "Ms";
            title[4] = "Dr";
            title[5] = "Rev";
            title[6] = "Hon";
            title[7] = "Mx";
            title[8] = "Other";

我工作的方式并不重要,但是先得到姓氏可能更容易,因为它总是字符串中的最后一组字符,直到右边的第一个空格值。如果我把这个输入到它自己的姓氏字符串中,然后从原始的FULLNAME字符串中删除它,那么我可以使用我的数组来查看从左到第一个空格的第一组字符是否出现在其中,如果是这样,则用作标题字符串,但如果不是,则在删除姓氏后使用剩下的字符串为FIRSTNAME字符串。

关于如何实现这一目标的第一步,就是把姓拿出来,这一点有点卡住了。我尝试过LASTINDEXOF,但这是一个整数值,我需要字符串。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-21 12:01:30

如果您确信“名”或“姓”中没有空格,请尝试如下所示:

代码语言:javascript
复制
string[] fullNames = { "John Smith", "Dr John Smith" };
        string[] titles = { "Mr", "Mrs", "Dr" };

        foreach (var item in fullNames)
        {
            var details = item.Split(' ');
            if (titles.Contains(details[0]))
            {
                Console.WriteLine($"Title: { details[0]} ");
                Console.WriteLine($"First Name: { details[1]} ");
                Console.WriteLine($"Last Name: { details[2]} ");
            }
            else
            {
                Console.WriteLine($"First Name: { details[0]} ");
                Console.WriteLine($"Last Name: { details[1]} ");
            }
        }
票数 1
EN

Stack Overflow用户

发布于 2019-11-21 12:15:43

为了得到姓氏,你可以做以下事情:

代码语言:javascript
复制
foreach (DataRow dr in spreadsheetdata.Tables["EPABase"].Rows)
        {
            var value = dr["FULLNAME"].ToString();
            var elementsOfName = value.Split(" ");
            var lastName = elementsOfName[elementsOfName.Length - 1];
            Console.WriteLine(lastName);
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58974194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档