2017-11-26 22 views
-1

このコードは空白を削除する必要があるようですが、小文字以外の文字はすべて削除しますが、何らかの理由で空白が残ります。私は間違って何をしていますか?Javaの文字列から空白を削除しますか?

for(int i = 0; i < message.length(); i++){  
    if((int) message.charAt(i) > 122 || (int) message.charAt(i) < 97) 
     message = message.replace(message.charAt(i), Character.MIN_VALUE);  
} 
String msg = message.replaceAll("\s", ""); 
+0

変更 '\\ S' に '\\ sの+' \\ sが空白で \\ S +または\\ S ++は空白、私は右の後にMSGをプリントアウトしています – Artemis

+0

の任意の量であり、それが印刷さ空白が削除されないことを除いて、私が望むのとまったく同じ文字列を出力します。 – Ian

+1

'String msg = message.replaceAll(" \\ s "、" ");'正常に動作するはずです。空白を削除するためにはforループを使う必要はありません(そのスペースで何をしようとしているのかわかりません)。 – nicovank

答えて

-2

これを試してください:)これは、空白を含まない新しい文字列を作成します。 これを複数回実行する必要がある場合は、文字列を返す単純なメソッドにします。

String resultStr = "";  
for(int i = 0; i < message.length(); i++){  
     if (!Character.isWhitespace(message.charAt(i))) 
     resultStr += message.charAt(i); 
    } 

// without whitespace 
System.out.print(resultStr); 
+0

あなたはアスキーコードでより効果的です:) –

+0

ここでStringBuilderの代わりにStringを使用する理由は何ですか? –

+0

いいえ私はちょうどそれが好きです:) –

関連する問題