【Java入門】String型の文字列からtrimで空白スペースを削除

こんにちは!エンジニアの中沢です。

JavaでString型の文字列を扱っていてこんな風に思ったことはありませんか?

文字列から空白を削除する方法を知りたい
改行やタブなどの制御文字を削除したい
trimメソッドの使い方を知りたい

今回はそんな悩みを解決するtrimメソッドの使い方についてです。

この記事では、

  • trimで文字列から空白を削除する方法
  • 改行やタブなどの制御文字を削除する方法
  • 全角スペースなど削除できない場合について

などの基本的な内容から、応用的な使い方に関しても解説していきます。

今回は空白や改行などの制御文字を削除する方法について、わかりやすく解説します!

trimで文字列から空白を削除する方法

初めに文字列から空白を削除する方法を解説します。

文字列から空白を削除するには、java.lang.Stringクラスのtrimメソッドを使います。trimメソッドは文字列の先頭と末尾の連続した空白と制御文字をすべて削除します。

文字列から空白を削除する方法を覚えるために次のプログラムを見てみましょう。

public class Main {
 
    public static void main(String[] args) {
        String str = " samu rai    ";
        System.out.println("削除前 = "" + str + """);
        System.out.println("削除後 = "" + str.trim() + """);
    }

}

実行結果:

削除前 = " samu rai    "
削除後 = "samu rai"

文字列の前後の半角スペースが削除されたことが確認できました!

改行やタブなどの制御文字を削除する方法

次は文字列から改行やタブなどの制御文字を削除する方法を解説します。

改行コードのような制御文字を削除する場合も、trimメソッドで半角スペースと同様に削除できます。文字の間の制御文字は、空白と同様に削除されないことに気をつけてください。

文字列に改行とタブのコードを入れた次のプログラムで確認してみましょう。

public class Main {
 
    public static void main(String[] args) {
        String str2 = " samurai nt";
        System.out.println("削除前 = "" + str2 + """);
        System.out.println("削除後 = "" + str2.trim() + """);
    }

}

実行結果:

削除前 = " samurai 
        "
削除後 = "samurai"

trimメソッドを使って、文字列の前後の空白と改行とタブのすべてが削除できることが確認できました!

全角スペースなど削除できない場合について

trimメソッドでは、文字の間の空白は削除されないことに気をつけてください。

また、全角スペースも削除されないので注意してください。

次のプログラムで確認してみましょう。

public class Main {
 
    public static void main(String[] args) {
        String str1 = " samu rai    ";  //前後に半角スペース
        System.out.println("削除前 = "" + str1 + """);
        System.out.println("削除後 = "" + str1.trim() + """);
         
        String str2 = " samu rai ";  //前後に全角スペース
        System.out.println("削除前 = "" + str2 + """);
        System.out.println("削除後 = "" + str2.trim() + """);
    }

}

実行結果:

削除前 = " samu rai    "
削除後 = "samu rai"
削除前 = " samu rai "
削除後 = " samu rai "

文字の間の空白と全角スペースが削除されないことが確認できました!

replaceAllで削除する方法

では、文字の間の空白と全角スペースを削除したい場合はどうしたらよいのでしょうか?

そんな場合は、replaceAllメソッドを使用します。

replaceAllメソッドもtrimメソッドと同じように、java.lang.Stringクラスのメソッドです。replaceAllメソッドの第1引数には置換前の文字列を、第2引数には置換後の文字列を指定します。

文字の間の空白と全角スペースを削除する場合は、第1引数に半角スペースや全角スペースを指定し、第2引数に空文字("")を指定します。

サンプルコードで確認しましょう。

public class Main {
 
    public static void main(String[] args) {
        String str = " samu rai ";  //前後に全角スペース
        System.out.println("削除前 = "" + str + """);
        
        str = str.replaceAll(" ", ""); //全角スペースを空文字に置換
        str = str.replaceAll(" ", ""); //文字の間の半角スペースを空文字に変換
        System.out.println("削除後 = "" + str + """);
    }

}

実行結果:

削除前 = " samu rai "
削除後 = "samurai"

文字の間の空白と全角スペースが削除できることが確認できました!

なお、replaceAllメソッドのように文字列の置換について詳しく知りたい方は、こちらを参考にしてくださいね。

【Java入門】文字列を置換する(replace/replaceAll/replaceFirst)
更新日 : 2020年5月8日

String(文字列クラス)総まとめ

String(文字列クラス)についてさらに詳しく知りたいときはこちらの記事を確認してください!

【Java String】7つの基本的な使い方で文字列操作を理解しよう
更新日 : 2019年5月7日

まとめ

いかがでしたか?

今回はString型の文字列から、空白や改行などの制御文字を削除する方法について解説しました。

trimメソッドは文字の間の空白や、全角スペースは削除しないので注意してくださいね。

もしtrimメソッドの使い方を忘れてしまったらこの記事を確認してください!

LINEで送る
Pocket

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

中沢 丈

中沢 丈

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
[email protected]