• 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.