【发布时间】:2013-10-22 15:50:18
【问题描述】:
我正在寻找如何摆脱以下异常“索引超出数组范围”。对于以下情况2
目的:区分名字和姓氏(姓氏有时可能为空)
案例 1:
姓名:约翰·梅尔维克
我可以用我的代码解决第一个案例
案例 2:
姓名:肯尼迪
如果两个我收到错误,我的代码中 LastName 的索引超出范围
案例 3:
姓名:鲁道夫·尼克·博瑟
情况3,我可以得到:
名字:Rudolph 和姓氏:Nick(而我需要 Nick Bother 一起成为姓氏)
非常感谢,如果有人帮助我。
代码如下:
Match Names = Regex.Match(item[2], @"(((?<=Name:(\s)))(.{0,60})|((?<=Name:))(.{0,60}))", RegexOptions.IgnoreCase);
if (Names.Success)
{
FirstName = Names.ToString().Trim().Split(' ')[0];
LastName = Names.ToString().Trim().Split(' ')[1];
}
【问题讨论】:
-
投票结束,与上述重复。
-
你怎么知道第一个字符串是名字,其他字符串是姓氏?例如,有一个名叫比利·雷·赛勒斯的人……名字:比利·雷,姓氏:赛勒斯。
-
@Matthew 我不确定名字,姓氏..但这是该人提出的要求,他们将考虑在名字之后剩下的部分将仅是姓氏。我正在检查这里是否有任何可选代码...