QA@IT

Javaの文字列編集で、制御文字を残してスペースだけを削除したいが・・・

7561 PV

以下のようなJavaのソースを記述したとします。

String str = " " + new Character((char)11);
str = str.replaceAll("^\\s+", "");
System.out.println("a" + str + "b");

すると、
ab
のように、空白だけでなく制御文字までが消えてしまいます。
※11は垂直タブのはず

この時、半角スペースだけを削除するにはどうしたらいいのでしょう?
以下のサイトを見てみました。
http://javamemo.jpn.org/index.php?%5B%5B%C0%B5%B5%AC%C9%BD%B8%BD%5D%5D

\cx
これを使って半角スペースを指定すればいいと思うのですが、次のようにしても、置換してくれません。

str = str.replaceAll("^[\\c ]+", "");

どなたかやり方を教えてもらえないでしょうか。

回答

str = str.replaceAll("^ +", ""); でできます。

あとこれは「先頭の」半角スペースを全て除去ですが認識もあってますか?

編集 履歴 (0)
  • ああなるほど!コードじゃなくて、半角スペースをそのまま書けば良かったのですか!盲点でした。
    先頭の、というのは確かに仰る通りです。お心遣い、有難いです。
    出来るだけ解りやすく書こうと思って工夫してみたのです。
    これで明日の仕事がやりやすくなります。すっごく嬉しいです!
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。