2

後でクリーンアップされて出力される文字列に入力された文字列を解析するためのヘルプが必要です。

例えば

String str = " tHis  strIng is  rEalLy mEssy  "

そして、私がする必要があるのは、それを次のように解析することです。

"ThisStringIsReallyMessy"

したがって、基本的にはクリーンアップしてから、すべての単語の最初の文字だけを大文字に設定する必要があります。誰かが数字を使用する場合に備えて、それを壊さないでください。

4

4 に答える 4

5

Apache Commonsが救いの手を差し伸べます(再び)。いつものように、この特定の問題だけでなく、多くの機能についてもCommonsライブラリをチェックする価値があります。

Apache Commons WordUtils.capitalize()を使用して、文字列内の各単語を大文字にすることができます。次に、replaceAll(" ", "")空白をビニングします。

String result = WordUtils.capitalize(str).replaceAll(" ", "");

以下の(その他)ブライアンのコメントに注意してください。replace()vsの背後にある選択肢replaceAll()

于 2012-09-25T16:55:40.770 に答える
4
String[] tokens = " tHis  strIng is  rEalLy mEssy  ".split(" ");
StringBuilder result = new StringBuilder();
for(String token : tokens) {
    if(!token.isEmpty()) {
        result.append(token.substring(0, 1).toUpperCase()).append(token.substring(1).toLowerCase());
     }
}
System.out.println(result.toString()); // ThisStringIsReallyMessy
于 2012-09-25T16:58:19.260 に答える
4
   String str = " tHis  strIng is  rEalLy mEssy  ";
   str =str.replace(" ", "");
   System.out.println(str);

出力:

tHisstrIngisrEalLymEssy

各単語の最初の文字を大文字にするために利用できる組み込み関数はありません。このスレッドには可能な解決策があります。

于 2012-09-25T16:49:18.637 に答える
0

これですか?

str = str.replaceAll(" ", "");
于 2012-09-25T16:50:16.650 に答える