Parse Full Name
CodeKeep C# Feed Luglio 24th, 2008
Description: Parse a string for firstname, middleinitial and lastnameLink: http://www.codekeep.net/snippets/a57fa506-0afe-4b60-8033-3589eb776315.aspx
/// <summary>
/// Parses the full name.
/// </summary>
/// <param name="FullName">The full name.</param>
/// <param name="_firstName">Name of the _first.</param>
/// <param name="_middleInitial">The _middle initial.</param>
/// <param name="_lastName">Name of the _last.</param>
public static void ParseFullName(string FullName, out string _firstName, out string _middleInitial, out string _lastName)
{
_firstName = "";
_middleInitial = "";
_lastName = "";
string[] parts = new string[] { };
string[] seperators = new string[1] { " " };
parts = FullName.Split(seperators, StringSplitOptions.RemoveEmptyEntries);
switch (parts.Length)
{
case 1:
{
// OPTIONS
//
// 0=firstname
//
_firstName = parts[0]; // 0=firstname
break;
}
case 2:
{
// OPTIONS:
//
// option1: 0=salutation, 1=lastname
// option2: 0=firstname, 1=lastname
//
if (parts[0].EndsWith(".")) // option2
{
try
{
//TODO: parse salutation // 0=salutation
}
catch
{
_firstName = parts[0]; // 0=firstname
}
_lastName = parts[1]; // 1=lastname
}
else // option2
{
_firstName = parts[0]; // 0=firstname
_lastName = parts[1]; // 1=lastname
}
break;
}
case 3:
{
// OPTIONS:
//
// option1: 0=salutation, 1=firstname, 2=lastname
// option2: 0=firstname, 1=middle, 2=lastname
// option3: 0=firstname, 1=lastname, 3=namesuffix
//
if (parts[0].EndsWith("."))
{
//TODO: parse salutation // 0=salutation
_firstName = parts[1]; // 1=firstname
_lastName = parts[2]; // 2=lastname
}
else
{
_firstName = parts[0]; // 0=firstname
if (parts[1].EndsWith(".") | parts[1].Length == 1)
{
_middleInitial = parts[1].Substring(0, 1).ToUpper(); // 1=middle
_lastName = parts[2]; // 2=lastname
}
else
{
if (parts[3].EndsWith(".") | parts[1].Length == 1)
{
_firstName = parts[0]; // 0=firstname
_lastName = parts[1]; // 1=lastname
//TODO: parse namesuffix // 3=namesuffix
}
}
}
break;
}
case 4:
{
// OPTIONS:
//
// option1: 0=salutation, 1=firstname, 2=lastname, 3=namesuffix
// option2: 0=salutation, 1=firstname, 2=middle, 3=lastname
// option3: 0=firstname, 1=middle, 2=lastname, 3=namesuffix
//
if (parts[0].EndsWith(".")) //option1
{
//TODO: parse salutation // 0=salutation
_firstName = parts[1]; // 1=firstname
if (parts[2].EndsWith(".")) //option2
{
_middleInitial = parts[2].Substring(0, 1).ToUpper(); // 2=middleinitial
_lastName = parts[3]; // 3=lastname
}
else //option1
{
_lastName = parts[2]; // 2=lastname
//TODO: parse namesuffix // 3=namesuffix
}
}
else //option3
{
_firstName = parts[0]; // 0=firstname
_middleInitial = parts[1].Substring(0, 1).ToUpper(); // 1=middle
_lastName = parts[2]; // 2=lastname
//TODO: parse namesuffix // 3=namesuffix
}
break;
}
}
}