今回は、Javaで空白を除去する処理についていくつか紹介していきます。
Javaで空白を除去する
- 実装時の注意点
- trimで前後の半角スペースを除去
- stripで前後の半角、全角スペースを除去
- replaceで文字列内の全ての半角、全角スペースを除去
1. 実装時の注意点
Javaで文字列操作をするときには、必ず変数に文字列が入っている必要があります。
万が一、変数に「null」が入る場合は、空白除去の際にNullPointerExceptionが発生します。
もし、「null」が入る可能性がある場合は、事前にnullチェックを行いましょう。
2以降もnullチェックをした処理をサンプルとして記載します。
2. trimで前後の半角スペースを除去
Javaで文字列の前後に不要な半角スペースがある場合は、trimで除去可能です。
String str1 = " 田中太郎"; // 前に半角スペース
String str2 = "田中太郎 "; // 後ろに半角スペース
String str3 = " 田中太郎 "; // 前後に半角スペース
System.out.println(str1.trim());
System.out.println(str2.trim());
System.out.println(str3.trim());
=======
田中太郎
田中太郎
田中太郎
3. stripで前後の半角、全角スペースを除去
Javaで文字列の前後に不要な半角・全角スペースがある場合は、stripで除去可能です。
String str1 = " 田中太郎"; // 前に半角・全角スペース
String str2 = "田中太郎 "; // 後ろに半角・全角スペース
String str3 = " 田中太郎 "; // 前後に半角・全角スペース
System.out.println(str1.strip());
System.out.println(str2.strip());
System.out.println(str3.strip());
=======
田中太郎
田中太郎
田中太郎
stripはjava11で新しく導入されました。
java11より前のバージョンであれば、StringUtilsというライブラリを使いましょう。
String str1 = " 田中太郎"; // 前に半角・全角スペース
String str2 = "田中太郎 "; // 後ろに半角・全角スペース
String str3 = " 田中太郎 "; // 前後に半角・全角スペース
System.out.println(StringUtils.strip(str1));
System.out.println(StringUtils.strip(str2));
System.out.println(StringUtils.strip(str3));
=======
田中太郎
田中太郎
田中太郎
StringUtilsのライブラリはこちらから取得可能です。
4. replaceで文字列内の全ての半角、全角スペースを除去
最後に、文字列内の半角スペース・全角スペースを全て削除する方法としてreplaceを使うやり方を紹介します。
String str1 = " 田中太郎"; // 前に半角・全角スペース
String str2 = "田中太郎 "; // 後ろに半角・全角スペース
String str3 = " 田中太郎 "; // 前後に半角・全角スペース
String str4 = "田中 太郎"; // 文字の間に半角スペース
String str5 = "田中 太郎"; // 文字の間に全角スペース
System.out.println(str1.replace(" ", "").replace(" ", ""));
System.out.println(str2.replace(" ", "").replace(" ", ""));
System.out.println(str3.replace(" ", "").replace(" ", ""));
System.out.println(str4.replace(" ", "").replace(" ", ""));
System.out.println(str5.replace(" ", "").replace(" ", ""));
=======
田中太郎
田中太郎
田中太郎
田中太郎
田中太郎
replace()メソッドは、戻り値がStringなので、連続してreplace()を呼び出す事が可能です。
str1.replace(" ", "").replace(" ", "");
// 1回目で、半角スペースを置換し
// 2回目で、全角スペースを置換
このような処理をチェーン処理と呼びます。鎖のように連続で繋いで処理を実行しているからです。
===============
この情報が皆さんの人生のお役に立てれば幸いです。
エンジニアとして日本のITリテラシーを高めていきたいと共感して頂いた人は、是非このブログの拡散とyoutubeの方も見ていただけると嬉しいです。
記事を最後まで見ていただきありがとうございました。
執筆者: hiroエンジニア