2009-06-26 5 views
2

Pour tous ceux qui peuvent aider, merciPrénom Formatting

Ok, donc j'ai une base de données contenant une liste de clients. Le problème que j'ai est que j'ai trouvé que toutes les entrées pour les clients Prénom et Nom sont stockées dans toutes les lettres majuscules. Et je voulais savoir si quelqu'un connaissait un utilitaire que je pourrais utiliser pour convertir les noms à leur bon boîtier. J'ai pensé à tout faire en minuscules et à mettre en majuscule la première lettre, mais cela ne sera pas toujours correct dans tous les cas. J'aimerais aussi pouvoir le faire en Java si c'est possible.

+0

Est-ce que firstName et lastName se trouvent dans des champs de table séparés? –

Répondre

5

Un Google search rapide relevai http://freejava.info/capitalize-english-names/:

Il y a des noms dans la langue anglaise comme Sam O'Neil, Jenny McCarthy, Beverly d'Angelo, Leonardo di Caprio, Don Alejandro de la Vega, Wernher von Braun, etc. qui nous causent des problèmes lorsque nous essayons de les capitaliser correctement dans les applications logicielles. Le code java suivant aide dans la situation où la capitalisation des noms est requise.

Le code il capitalise la lettre après "d '", "Mc", ou "Mac", ou après ponctuation, et a une liste d'exceptions pour "Macintosh", "von", "van", "de", "la", "da" et "di".

+0

Bonne trouvaille (j'ai probablement eu les mauvais mots-clés). –

+0

Merci John, ça fonctionne – Chris

1

Puisque les noms de nos jours peuvent être capitalisés graphiquement, il n'y a pas d'algorithme général pour la capitilisation que vous pouvez utiliser. Certains sont dépendants de la culture - je mets Van en mon nom parce que ma famille a été en Amérique depuis longtemps, mais ce serait van en néerlandais (mais seulement en suivant mon prénom selon this article). L'algorithme le plus simple à utiliser serait probablement de mettre en majuscule la première lettre de chaque mot dans le nom et de conserver une table d'exceptions. Si la table devient grande, vous pouvez la regarder et dériver d'autres règles. L'article ci-dessus énumère quelques règles américaines standard si vous voulez commencer avec cela (comme ne pas captialiser "de").

0

Toutes les lettres, sauf la première, fonctionneront dans la plupart des cas.

Sinon, vous pouvez avoir des exceptions selon que le nom de famille contient un espace ou s'il commence par une certaine sous-chaîne (Mc_, Van _... ne peut pas en trouver d'autres ...). La question est vraiment si ça vaut le coup.

0

Heres un SQL function vous pouvez utiliser pour tirer le prénom et le nom (en supposant qu'ils sont séparés les champs)

également Heres certains regex à capitaliser le nom si son champ tout en 1

Questions connexes