2009-06-26 2 views
2

К любому, кто может помочь, спасибоНастоящее имя Форматирование

Хорошо, поэтому у меня есть база данных, содержащая список клиентов. Проблема, с которой я сталкиваюсь, заключается в том, что я обнаружил, что все записи для имен пользователей First и Last хранятся во всех буквах верхнего регистра. И я хотел знать, знает ли кто-нибудь о какой-то полезности, которую я мог бы использовать для преобразования имен в их правильный корпус. Я подумал о том, чтобы сделать все строчные буквы и сделать первую букву в верхнем регистре, но это не всегда будет правильным во всех случаях. Я также хотел бы иметь возможность сделать это на Java, если это вообще возможно.

+0

Является ли firstName и lastName в отдельных полях таблицы? –

ответ

5

Быстрый Google search оказался http://freejava.info/capitalize-english-names/:

Есть имена в английском языке, как Сэм О'Нил, Дженни МакКарти, Беверли Д'Анджело, Леонардо ди Каприо, Дон Алехандро де ла Вега, Вернера фон Braun и т. Д., Которые дают нам проблемы, когда мы пытаемся правильно их использовать в программных приложениях. Следующий код java помогает в ситуации, когда требуется капитализация имен.

Код там заглавной буквы после «г"»,„Мак“, или„Mac“, или после любой пунктуации, и имеет список исключений для„Macintosh“,„фон“,„ван“, «de», «la», «da» и «di».

+0

Хорошая находка (у меня, вероятно, были неправильные ключевые слова). –

+0

Спасибо, John, это работает – Chris

1

Поскольку имена в настоящее время могут быть искусственно заглавными, нет общего алгоритма капитализации, который вы можете использовать. Некоторые из них зависят от культуры - я использую Van от моего имени, потому что моя семья была в Америке в течение длительного времени, но это было бы van на голландском языке (но только после моего имени в соответствии с this article). Самый простой алгоритм использования, вероятно, должен был бы загладить первую букву каждого слова в имени и сохранить таблицу исключений. Если таблица становится большой, вы можете посмотреть на нее и получить другие правила. В приведенной выше статье перечислены некоторые стандартные американские правила, если вы хотите начать с этого (например, не перебирать «de»).

0

Нижняя строчка, кроме первой буквы, будет работать в большинстве случаев.

В противном случае у вас могут быть исключения, основанные на том, имеет ли в нем последнее имя, или если оно начинается с определенной подстроки (Mc_, Van _... не может думать о каких-либо других ...).

Вопрос в том, действительно ли это того стоит.

0

Херес SQL function вы можете использовать, чтобы заработать имя и фамилию (при условии, что они находятся в раздельных полях)

Также некоторые regex Heres капитализировать имя, если его все в 1 поле

Смежные вопросы