Вы обнаружите, что ваша ключевая проблема с этим подходом не техническая, а человеческая - разные люди пишут свои имена по-разному.
На самом деле терминология «имя» и «фамилия» сама по себе неверна.
В то время как многие смешанные семьи используют дефисные фамилии, такие как Смит-Джонс, есть такие, которые просто используют оба имени по отдельности, «Смит Джонс», где оба имени являются фамилией.
Многие европейские фамилии состоят из нескольких частей, например, "de Vere" и "van den Neiulaar". Иногда эти статисты имеют важную семейную историю - например, префикс, присужденный королем сотни лет назад.
Дополнительный вопрос: я правильно прописал их для людей, на которых ссылаюсь - «де» и «ван ден» не получают заглавных букв для одних семей, а для других.
И наоборот, многие азиатские культуры ставят фамилию на первое место, потому что семья считается более важной, чем личность.
Последний пункт - некоторые люди придают большое значение тому, чтобы быть «младшим», «старшим» или «III» - и ваш код не должен воспринимать их как фамилию.
Также отмечая, что есть немало людей, которые используют имя, которое не было присвоено их родителями, я с успехом использовал следующую схему:
ФИО (как обычно пишется для адресации почты);
Фамилия;
Известен как (имя, обычно используемое в разговоре).
например:
ФИО: Уильям Гейтс III; Фамилия: Гейтс; Известен как: Билл
Полное имя: Сун Ли; Фамилия: Сунг; Известен как: Лиза