カテゴリ: Javaの文字列操作 更新日: 2025/04/16

Java の文字列の空白を削除する「trim()」の使い方

089
Java の文字列の空白を削除する「trim()」の使い方

新人と先輩の会話形式で理解しよう

新人

「Java で文字列の前後にある空白を削除する方法はありますか?」

先輩

「Java には trim() メソッドという便利なメソッドがあるよ。これを使えば、文字列の前後にある余計な空白を取り除くことができるんだ。」

新人

「なるほど!でも、どんなときに使うんですか?」

先輩

「例えば、ユーザーが入力したデータを処理するとき、前後に余分なスペースが入ることがあるよね。そのままだと不具合が起こることがあるから、trim() を使って整えておくと便利なんだ。」

新人

「なるほど!具体的な使い方を教えてください!」

1. 文字列の空白とは?(基本的な説明)

1. 文字列の空白とは?(基本的な説明)
1. 文字列の空白とは?(基本的な説明)

プログラムで扱う文字列には、意図せず前後に空白(スペースやタブなど)が入ってしまうことがあります。

空白が発生する例

  • ユーザーが入力したデータ(フォームの入力など)
  • ファイルから読み込んだテキストデータ
  • データベースから取得した文字列

これらの空白を適切に削除しないと、データの比較や検索時に予期しないエラーが発生することがあります。

2. 「trim()」メソッドとは?(基本的な使い方)

2. 「trim()」メソッドとは?(基本的な使い方)
2. 「trim()」メソッドとは?(基本的な使い方)

trim() メソッドは、文字列の先頭と末尾にある空白を取り除くメソッドです。

trim() の基本的な使い方


public class TrimExample {
    public static void main(String[] args) {
        String text = "  Java Programming  ";
        String trimmedText = text.trim();
        System.out.println("元の文字列: [" + text + "]");
        System.out.println("trim()適用後: [" + trimmedText + "]");
    }
}

元の文字列: [  Java Programming  ]
trim()適用後: [Java Programming]

コードの解説

  • String text = " Java Programming "; … 前後に空白のある文字列を用意する
  • text.trim(); … 前後の空白を削除する
  • System.out.println(trimmedText); … 結果を表示する

このように、trim() メソッドを使うことで、文字列の前後にある不要なスペースを簡単に削除できます。

3. 「trim()」を使って前後の空白を削除する

3. 「trim()」を使って前後の空白を削除する
3. 「trim()」を使って前後の空白を削除する

trim() メソッドを使うことで、文字列の前後にある余分なスペースを削除できます。

trim() の基本的な使い方


public class TrimExample {
    public static void main(String[] args) {
        String input = "   Java World   ";
        String result = input.trim();
        System.out.println("元の文字列: [" + input + "]");
        System.out.println("trim() 適用後: [" + result + "]");
    }
}

元の文字列: [   Java World   ]
trim() 適用後: [Java World]

コードの解説

  • String input = " Java World "; … 文字列の前後にスペースを含む
  • input.trim(); … 先頭と末尾の空白を削除
  • System.out.println(result); … 結果を出力

このように、trim() を使うことで、余計な空白を取り除き、文字列を整えることができます。

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. 「trim()」の使用例(文字列の前後にスペースがある場合の変換)

4. 「trim()」の使用例(文字列の前後にスペースがある場合の変換)
4. 「trim()」の使用例(文字列の前後にスペースがある場合の変換)

例えば、ユーザー入力のデータを整える際に trim() を使用すると便利です。

入力データの空白を削除する


public class UserInputTrim {
    public static void main(String[] args) {
        String userInput = "  hello@java.com  ";
        String cleanedInput = userInput.trim();
        System.out.println("元の入力: [" + userInput + "]");
        System.out.println("trim()適用後: [" + cleanedInput + "]");
    }
}

元の入力: [  hello@java.com  ]
trim()適用後: [hello@java.com]

コードの解説

  • ユーザーが入力したメールアドレスに余分なスペースが含まれている
  • trim() を使うことで、前後の空白を削除できる

このように、入力データを統一するために trim() を活用できます。

5. 「trim()」で削除されない空白文字とは?

5. 「trim()」で削除されない空白文字とは?
5. 「trim()」で削除されない空白文字とは?

trim() は、通常のスペース(半角スペース)や改行を削除しますが、一部の特殊な空白文字は削除されません。

削除されない空白文字の例

例えば、全角スペースや非表示の制御文字は trim() では削除されません。


public class TrimTest {
    public static void main(String[] args) {
        String text = " Java学習 "; // 前後に全角スペース
        String trimmedText = text.trim();
        System.out.println("元の文字列: [" + text + "]");
        System.out.println("trim()適用後: [" + trimmedText + "]");
    }
}

元の文字列: [ Java学習 ]
trim()適用後: [ Java学習 ]

コードの解説

  • 全角スペース(U+3000)は trim() では削除されない
  • そのまま出力されるため、別の方法で削除する必要がある

全角スペースを削除する方法


public class TrimFullWidth {
    public static void main(String[] args) {
        String text = " Java学習 ";
        String cleanedText = text.replaceAll("^\\s+|\\s+$", "");
        System.out.println("全角スペース削除後: [" + cleanedText + "]");
    }
}

全角スペース削除後: [Java学習]

コードの解説

  • replaceAll("^\\s+|\\s+$", "") を使うと全角スペースも削除できる
  • Java の正規表現で ^\\s+|\\s+$ は、前後の空白を対象にする

このように、通常の trim() では削除できない特殊な空白も、正規表現を使えば削除できます。

6. 「trim()」と「strip()」の違いとは?(Java 11 以降のメソッド)

6. 「trim()」と「strip()」の違いとは?(Java 11 以降のメソッド)
6. 「trim()」と「strip()」の違いとは?(Java 11 以降のメソッド)

Java 11 以降では、strip() という新しいメソッドが追加されました。trim() と似ていますが、動作に違いがあります。

trim() と strip() の違い

  • trim() … ASCII の空白文字(半角スペースやタブなど)を削除
  • strip() … Unicode の空白文字(全角スペースも含む)を削除

strip() の基本的な使い方


public class StripExample {
    public static void main(String[] args) {
        String text = " Java学習 "; // 前後に全角スペース
        String trimmedText = text.trim();
        String strippedText = text.strip();
        
        System.out.println("trim() 適用後: [" + trimmedText + "]");
        System.out.println("strip() 適用後: [" + strippedText + "]");
    }
}

trim() 適用後: [ Java学習 ]
strip() 適用後: [Java学習]

コードの解説

  • trim() では全角スペースが削除されない
  • strip() を使うと全角スペースも削除できる

Java 11 以降を使用している場合は、全角スペースも削除できる strip() の利用をおすすめします。

7. 文字列の中の空白を削除するには?(replace() との組み合わせ)

7. 文字列の中の空白を削除するには?(replace() との組み合わせ)
7. 文字列の中の空白を削除するには?(replace() との組み合わせ)

trim()strip() は文字列の前後の空白を削除しますが、文字列の途中にある空白は削除しません。

文字列内の空白を削除する方法


public class RemoveSpaces {
    public static void main(String[] args) {
        String text = "Java  Programming  Language";
        String noSpaces = text.replace(" ", ""); 
        System.out.println("元の文字列: [" + text + "]");
        System.out.println("空白削除後: [" + noSpaces + "]");
    }
}

元の文字列: [Java  Programming  Language]
空白削除後: [JavaProgrammingLanguage]

コードの解説

  • replace(" ", "") を使うと、すべての半角スペースを削除
  • 元の単語の間にあるスペースも削除される

空白を 1 つのスペースに置き換える

単語の間にある複数の空白を 1 つのスペースに統一することもできます。


public class NormalizeSpaces {
    public static void main(String[] args) {
        String text = "Java    Programming   Language";
        String normalized = text.replaceAll("\\s+", " "); 
        System.out.println("元の文字列: [" + text + "]");
        System.out.println("空白統一後: [" + normalized + "]");
    }
}

元の文字列: [Java    Programming   Language]
空白統一後: [Java Programming Language]

コードの解説

  • replaceAll("\\s+", " ") を使うと、複数の空白を 1 つのスペースに置き換える
  • 単語の間の余分なスペースを整理できる

この方法を使うことで、文字列の中の無駄なスペースを調整できます。

8. 練習問題:「trim()」を使ったプログラムを作ろう

8. 練習問題:「trim()」を使ったプログラムを作ろう
8. 練習問題:「trim()」を使ったプログラムを作ろう

学んだ内容を実際に試してみましょう。以下の問題に挑戦してみてください。

練習問題 1: trim() を使って余分な空白を削除

次のプログラムを完成させて、入力された文字列の前後の空白を削除してください。


public class TrimPractice {
    public static void main(String[] args) {
        String input = "   Hello Java!   ";
        // ここに trim() を使って空白を削除
        String result = ???
        System.out.println("結果: [" + result + "]");
    }
}

練習問題 2: 文字列の途中の空白を削除

次のプログラムを完成させて、文字列内のすべての空白を削除してください。


public class RemoveInnerSpaces {
    public static void main(String[] args) {
        String text = "Java Programming Language";
        // ここに replace() を使って空白を削除
        String result = ???
        System.out.println("結果: [" + result + "]");
    }
}

練習問題 3: strip() を使って全角スペースも削除

次のプログラムを完成させて、全角スペースも削除できるようにしてください。


public class StripPractice {
    public static void main(String[] args) {
        String text = " Java学習 ";
        // ここに strip() を使って空白を削除
        String result = ???
        System.out.println("結果: [" + result + "]");
    }
}

これらの問題を解くことで、trim()strip()replace() の使い方をしっかり理解できるようになります。

Javaの文字列操作の一覧へ
新着記事
FlutterのMVP・MVVMアーキテクチャの違いと使い分け
FlutterのMVP・MVVMアーキテクチャの違いと使い分けを初心者向けに解説!
オニオンアーキテクチャの基本とFlutterでの適用例
オニオンアーキテクチャの基本とFlutterでの適用例を初心者向けに解説
クリーンアーキテクチャとは?Flutterでの導入メリット
クリーンアーキテクチャとは?Flutterでの導入メリットをやさしく解説
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金まとめ
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金を初心者向けに徹底解説
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク