1

数百行のテキストをすべて大文字でファイルしたとします。各行の単語を小文字に変更し、最初の文字だけを大文字にするにはどうすればよいですか?

 TEXT ON FIST LINE
 TEXT ON SECOND LINE
 TEXT ON THIRD LINE

 Text On Fist Line
 Text On Second Line
 Text On Third Line

こんなことを考えていた

 s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase()

しかし、StringBuilderを使用する方がおそらく賢く、StringBuilderよりも優れたものがあるでしょう。

4

2 に答える 2

2

apace commonsを使用してもかまわない場合は、WordUtils.capitalize()またはWordUtils.capitalizeFully()

于 2011-06-07T13:29:39.167 に答える
0

4つのオプション(実際には5つですが、1つは別のバリエーションです):

  1. 文型の大文字化をすでに処理しているライブラリを使用する
  2. 文を分割してから、各単語の最初の文字を大文字にします
  3. スペース+文字の正規表現を使用して、パターンの末尾を大文字のバージョンに置き換えます
  4. 文字列を実行し、スペースに達した後に大文字にします

#4のバリエーションである#5は、まだ文字列を実行していますが、バイナリとして実行されています。これは難しいことではありませんが、ASCIIかUnicodeかによって異なり、文字セットによって変わる可能性があります。

カスタムルーチンを使用してこれを行う場合は、再利用可能なクラスとして設定してください。これを再度使用することはほぼ保証できます。

于 2011-06-07T13:34:49.263 に答える