こんにちは、さるまりんです。
Javaで書いているプログラムで文字列から空白文字(半角スペース)を取り除く必要があったのでその方法をメモしておきます。
String.replace
JavaのString
クラスにはreplace(from, to)
というメソッドがあります。これは対象文字列中のfrom
をto
に置換します。これを利用してfrom
に空白をto
に空文字列を指定することで文字列中からfrom
に指定した文字を取り除くことができます。
String str = "hello world I am here.";
String removed = str.replace(" ", "");
System.out.println(removed); // 「hellowordIamhere.」と出力されます。
ちなみにString
クラスにはreplaceAll()
というメソッドもあるのですが、これはfrom
の引数を正規表現として解釈して置換処理を行うので注意です。
StringUtils.remove
Apache Commonsには様々な便利なJavaのコンポーネントがあります。この中のCommons Langでjava.lang
パッケージにあったらいいなと思われる機能が色々実装されています。その中にStringUtils
というクラスがありここにString
クラスを扱う時に助けてくれる便利なメソッドがあります。今回使ったメソッドはremove()
です。remove(str, remove)
はstr
からremove
を取り除きます。
上の例と同じことをremove()
で行うとこうなります。
String str = "hello world I am here.";
String removed = StringUtils.remove(str, " ");
System.out.println(removed); // 「hellowordIamhere.」と出力されます。
String.replace()
の場合、対象の変数がnull
だったら、NullPointerException
が発生しますが、StringUtils.remove()
では対象がnull
ならばnull
が返却されます。チェックしてくれるのありがたいですね。
中で何をしているかを知ると自分で実装するプログラムにいきてくると思いますので、できるだけ誰かが書いたソースコードを読んで勉強したいと思います。
読んでくださってありがとうございます。
それではまた!