2009-06-26 25 views
2

お手伝いできる人にありがとう与えられた名前のフォーマット

さて、私は顧客リストを持っているデータベースを持っています。私が抱えている問題は、顧客のFirst NameとLast Nameのすべてのエントリがすべて大文字で保存されていることがわかったということです。名前を正しいケーシングに変換するために使うことができるユーティリティがあるかどうか知りたいと思っていました。私はすべてを小文字にし、最初の文字を大文字にすることを考えましたが、これはすべての場合に常に正しいとは限りません。私はまた可能な限りJavaでこれを行うことができるようにしたいと思います。

+0

firstNameとlastNameは別のテーブルフィールドにありますか? –

答えて

5

迅速Google searchhttp://freejava.info/capitalize-english-names/を上げ:

サム・オニール、ジェニー・マッカーシー、ビヴァリー・ダンジェロ、レオナルド・ディカプリオ、ドン・アレハンドロ・デ・ラ・ベガ、ウェルナー・フォンのような英語の名前があります。ブラウンなど、私たちがソフトウェアアプリケーションでそれらを適切に大文字にしようとするときに問題を起こすことがあります。次のJavaコードは、名前の大文字小文字が必要な場合に役立ちます。

"d"、 "Mc"、 "Mac"の後、または句読点の後に文字を大文字に変換し、 "Macintosh"、 "von"、 "van" "de"、 "la"、 "da"、 "di"

+0

良い検索(私はおそらく間違ったキーワードを持っていた)。 –

+0

ありがとうジョン、これは動作します – Chris

1

名前は現在、大文字でも大文字でも構わないので、使用できる資本化の一般的なアルゴリズムはありません。いくつかは文化に依存しています - バン私の家族は長い間アメリカに住んでいたので、私はバン(ただし、私の名前に従うときはthis article)になります。最も簡単なアルゴリズムは、おそらく名前の各単語の最初の文字を大文字にし、例外のテーブルを保持することです。テーブルが大きくなると、それを見て他のルールを導き出すことができます。上の記事では、標準的なアメリカのルールを(「de」のように)キャプチャしないなど、それから始めたいと思っています。

0

ほとんどの場合、最初の文字を除くすべての文字を小文字にします。

そうでなければ、最後の名前にスペースがあるかどうか、または特定の部分文字列(Mc_、Van _...は他のものを考えることはできません...)で始まる場合に例外を持つことができます。

質問は本当に価値がある場合です。

0

あなたが(彼らは別々のフィールドであると仮定した場合)姓と名を大文字に使用できる相続人SQL function

またHERESにいくつかのregexその全て1つのフィールドの場合、名前を大文字に

関連する問題