1. ホーム

[解決済み】文字列内の各単語の最初の文字を大文字にする方法

2022-04-16 18:37:06

質問

Javaに組み込まれている関数で、Stringの各単語の最初の文字を大文字にし、他の文字には影響を与えないものはありますか?

  • jon skeet -> Jon Skeet
  • miles o'Brien -> Miles O'Brien (Bは資本のまま、これでタイトルケースは除外される)。
  • old mcdonald -> Old Mcdonald *

*( Old McDonald も見つかると思いますが、そこまでのスマートさは期待できません)。

をざっと見てみると Java String Documentation のみであることがわかります。 toUpperCase()toLowerCase() もちろん、これは望ましい動作ではありません。当然ながら、Googleの検索結果はこの2つの関数で占められている。もう発明されているはずの車輪のようなので、今後使えるように聞いておいて損はないだろう。

どのように解決するの?

WordUtils.capitalize(str) から APACHE COMMONS-STEXT )

(注意:もし "fOO BAr" になります。 "Foo Bar" を使用します。 capitalizeFully(..) の代わりに)