Thank you for the response.
I actually ended up using a suggestion from another forum that worked out really well.
The moderator there helped me to put together a Script Component that took into account all factors.
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
const string pFirstName = @"^[A-Z]([-']?[a-z]+)*";
const string pSuffix = @"((Jr|Sr|I|V|X)( ?))*";
const string pInitial = @"(?<=\s)[A-Z](?=\s)";
const string pLastName = @"(?!(?:Jr|Sr|I|V|X|^))([A-Z][-'\s]?[a-z]+)";
string fullName = Row.Name.ToString();
string firstName = Regex.Match(fullName, pFirstName).Value;
string suffix = Regex.Match(fullName, pSuffix).Value;
string initial = Regex.Match(fullName, pInitial).Value;
string lastName = Regex.Match(fullName, pLastName).Value;
if (!string.IsNullOrEmpty(initial))
lastName += " " + initial;
if (!string.IsNullOrEmpty(suffix))
lastName += " " + suffix;
Row.FirstName = firstName;
Row.LastName = lastName;
}
I figured I would share it in hopes of it assisting others that may have a similar situation.