Капитализация имен лиц в программировании [закрыта]

16

Кто-нибудь знает какой-то код / ​​правила о том, как правильно использовать имена людей?

  • Джон Смит
  • Йохан ван Ренсбург
  • Деррик фон Гог
  • Ruby de La Fuente
  • Питер Маклорин
  • Гарри Макдональд

(это может быть неверно, просто некоторые образцы имен и то, как может быть / работать капитализация)

Это похоже на проигрышную битву ...

Если у кого-то есть код или правила о том, когда и как заглавные имена, сообщите мне:)

Cheers, Альберт

    
задан Albert 18.03.2010 в 00:44
источник
  • Моя ставка на «невозможно». –  msw 18.03.2010 в 00:48
  • Помните, что Ян Макдональд (из Шотландии) имеет другую капитализацию от Иана Макдональда (из Ирландии). –  Jonathan Leffler 18.03.2010 в 00:58
  • Когда сомневаетесь, ВСЕ ЗАДАЧИ. –  Juliet 18.03.2010 в 01:11
  • @Amissico: Вообще-то, нет, это не так. См. En.wikipedia.org/wiki/Halting_problem –  Billy ONeal 18.03.2010 в 02:32
  • Вещи вроде этого закрыты, так как не по теме очень меня раздражает. Это самое неправильное в SO! Я получил здесь от google, ища именно это, и нашел ответы полезными (и реализовал некоторые из них в производственном коде). –  brad 10.11.2013 в 11:36
Показать остальные комментарии

6 ответов

17

Единственный разумный способ справиться с этим, на мой взгляд, - позволить пользователям рассказать вам, как их имя должно быть заглавным. Любая автоматическая схема будет раздражать кого-то.

    
ответ дан Jonathan Leffler 18.03.2010 в 00:59
6

Википедия, похоже, имеет достойное освещение:

Капитализация - составные имена

    
ответ дан Peter Alexander 18.03.2010 в 00:47
5

Скажите им, что вы СТАРАЯ ШКОЛА. Это делает его простым и 100% правильным:

- JOHN SMITH
- JOHAN VAN RENSBURG
- DERRICK VON GOGH
- RUBY DE LA FUENTE
- PETER MACLAURIN
- GARRY MCDONALD

Та же логика также помогает во многих проблемах i18n.

    
ответ дан Mark Harrison 18.03.2010 в 02:30
  • Марк Хариссон - согласитесь. люди, как правило, раздражаются, когда вы ошибаетесь в своих именах ... –  Rook 18.03.2010 в 02:35
  • , однако это не совсем оправдано. Представьте, что ваши контакты Outlook выглядели как ВЕРХНИЙ СЛУЧАЙ, я думаю, что я бы пошел глухим: \ Это может быть полезно в некоторых случаях, хотя и не в этом. –  Albert 18.03.2010 в 05:43
  • @Albert - О, я бы хотел, чтобы люди остановились с этим allcaps = громким криком равенства. Это письма, как и все остальное. Ничего особенного в них, если они все шапки. –  Rook 18.03.2010 в 16:42
  • Я говорю им, что я такая старая школа, что я даже не использую компьютеры. Таким образом, вся проблема программирования обойдена. –  Slothario 21.01.2015 в 17:40
3

Я не уверен, что Ruby полезен, но вы можете взглянуть на NameCase . Даже если вы не работаете с Ruby, вы можете перенести это (это с открытым исходным кодом) на свой язык.

    
ответ дан Jaxidian 18.03.2010 в 00:54
2

Существует также эта реализация в Python , которая основана на этот алгоритм . Основная идея - преобразовать имя в заголовок, а затем проверить имя на гигантскую таблицу исключений.

Но на самом деле то, о чем говорил Джонатан Леффлер, - это то, что: если у вас есть какое-то требование для преобразования ранее существовавших неформатированных данных, автоматическая капитализация будет делать что-то неправильно (особенно, поскольку правила капитализации различаются между языковыми делениями, культурными делениями, изменениями имен, которые результат из эмиграции или люди просто предпочитают капитализировать свое имя определенным образом).

    
ответ дан ig0774 18.03.2010 в 01:47
  • Не пропуская список исключений, связанных с этим алгоритмом, я бы сделал ставку на то, что он довольно неполный в отношении имен лаков, начиная с «Mac». –  mc0e 25.06.2013 в 09:32
1

Я продолжал искать имена, требующие специальной обработки. Когда было найдено совпадение без учета регистра, я использовал значение поиска. Это не разрешало людей, которые использовали случай, который не соответствовал «принятой» капитализации. Это позволило мне / пользователю добавлять имена по мере необходимости. Я не могу найти свой код, но я получил фамилии из Ссылка .

    
ответ дан AMissico 18.03.2010 в 00:54
  • версия эт фамилий, которые я получил от census.gov, была все в верхнем регистре .. так что это было бесполезно –  ShoeLace 09.05.2014 в 15:13