C#:从字符串中提取姓氏,名字和中间名

时间:2015-08-29 07:12:45

标签: c# regex

我有一个包含许多人名的文本文件:

  • ABELINDE,ELISEO JR。 DELAPEÑA
  • DE LA CRUZ,FRANCIA DE LA ROSA
  • DE JESUS,ALMA SINOGBA
  • Smith,John Paul SINOGBA
  • ABORDO,EMMA DE LA TORRE
  • ABORDO,JERWIN DELOS REYES
  • ABAO,JARN DE LOS REYES

DELOS REYES,DE LA TORRE和DELABEÑA是中间名。

如果它只包含使用split()放入数组的单个值,那么获取姓氏和名字中间名是没有问题的。当第二部分是多个名字或有多个姓氏或有后缀时,我遇到了困难。我怎样才能得到这些名字?

2 个答案:

答案 0 :(得分:0)

假设你用逗号分隔,''获取姓氏和名字,按空格分割第二部分。将第一部分保留为名字,将剩余部分保留为中间名称。

答案 1 :(得分:0)

var nameArr = name.Split(' ');
if (nameArr.length > 3)
{
    var fName = nameArr [0];
    var lname = nameArr[nameArr.length-1];

    string middlename;
    for (int i = 1; i < nameArr.length - 1; i++)
    {
        middlename += nameArr[i];
        //probably a more elegant way of joining the names
    }
}

这应该有用吗?