给定名称格式

时间:2009-06-26 20:25:36

标签: java

对任何可以提供帮助的人,谢谢

好的,所以我有一个数据库,里面有一个客户名单。我遇到的问题是我发现客户名和姓的所有条目都存储在所有大写字母中。我想知道是否有人知道我可以使用一些实用程序将名称转换为正确的大小写。我想过将所有内容都设为小写并将第一个字母设为大写,但在所有情况下这并不总是正确的。如果可能的话,我也希望能够用Java做到这一点。

5 个答案:

答案 0 :(得分:5)

快速Google search出现http://freejava.info/capitalize-english-names/

  

英语中有名字如Sam O'Neil,Jenny McCarthy,Beverly d'Angelo,Leonardo di Caprio,Don Alejandro de la Vega,Wernher von Braun等,当我们试图正确地利用资本时会给我们带来麻烦他们在软件应用程序中以下java代码有助于需要大写名称的情况。

那里的代码将字母大写在“d”,“Mc”或“Mac”之后,或者在任何标点之后,并且具有“Macintosh”,“von”,“van”,“de”的例外列表,“la”,“da”和“di”。

答案 1 :(得分:1)

由于现在的名字可能是艺术资本化的,所以你可以使用没有通用的资本化算法。有些人依赖于文化 - 我以我的名义将 Van 大写,因为我的家人已经在美国待了很长时间,但是荷兰语中的 van (但仅限于以下情况)根据{{​​3}}我给出的名字。最简单的算法可能是将名称中每个单词的第一个字母大写,并保留一个例外表。如果表变大,您可以查看它并获得其他规则。上面的文章列出了一些标准的美国规则,如果你想从那开始(例如不要对“de”进行资本化)。

答案 2 :(得分:0)

在大多数情况下,除了第一个字母之外的所有内容都会有效。

否则,您可以根据姓氏中是否有空格,或者是否以某个子字符串开头(Mc_,Van _...不能想到任何其他人......)来获得异常。

真正的问题是它是否值得。

答案 3 :(得分:0)

这有帮助吗?

http://www.johncardinal.com/tmgutil/capitalizenames.htm

听起来它是VB而不是Java,但我想我会把它扔出去。

-Dan

答案 4 :(得分:0)

你可以使用SQL function来大写名字和姓氏(假设它们在单独的字段中)

如果名称全部在1个字段

中,还有一些regex可以将名称大写