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

17
задан Mark Harrison 30 September 2016 в 04:34
поделиться

6 ответов

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

1
ответ дан 30 November 2019 в 11:37
поделиться

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

19
ответ дан 30 November 2019 в 11:37
поделиться

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

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

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

7
ответ дан 30 November 2019 в 11:37
поделиться

Википедия, кажется, хорошо освещает это:

Заглавные буквы - составные имена

6
ответ дан 30 November 2019 в 11:37
поделиться

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

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

2
ответ дан 30 November 2019 в 11:37
поделиться

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

3
ответ дан 30 November 2019 в 11:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: