カテゴリ: Java 更新日: 2026/06/10

JavaのStringクラスとreplaceAllメソッドを完全解説!初心者でも理解できる正規表現を使った文字列置換

StringのreplaceAllメソッド
StringのreplaceAllメソッド

先生と生徒の会話形式で理解しよう

生徒

「Javaで文字列の一部を正規表現を使って置換する方法はありますか?」

先生

「はい、JavaではStringクラスのreplaceAllメソッドを使うと、正規表現を利用して文字列を効率的に置換することができます。」

生徒

「正規表現を使えるのは便利ですね!具体的にどのように使うんですか?」

先生

「では、replaceAllメソッドの基本的な使い方を詳しく見ていきましょう!」

1. JavaのStringクラスとは?

「1. JavaのStringクラスとは?」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

1. JavaのStringクラスとは?
1. JavaのStringクラスとは?

JavaのStringクラスは、文字列を扱うための基本的なクラスです。プログラムで「文字」や「文章」を扱うときに必ず使う重要なクラスで、初心者の方が最初に覚えるべきポイントの1つです。このクラスには、文字列の操作を簡単に行うための多くのメソッドが用意されています。

その中でもreplaceAllメソッドは、正規表現を使って文字列の一部を柔軟に置換できる便利な機能です。単純な置換だけでなく、「特定のパターンに一致する文字列」をまとめて処理できるのが特徴です。

まずは、Stringクラスで文字列を扱う基本的な書き方を見てみましょう。


public class StringBasicExample {
    public static void main(String[] args) {
        String message = "Hello Java";
        System.out.println(message);
    }
}

このように、Stringを使うことで簡単に文字列を扱うことができます。さらに、複数のパターンに一致する文字列を一括で置換したい場合に、replaceAllメソッドが非常に役立ちます。

2. replaceAllメソッドの使い方

2. replaceAllメソッドの使い方
2. replaceAllメソッドの使い方

replaceAllメソッドは、文字列の中から「特定のパターンに一致する部分」を見つけて、まとめて別の文字列に置き換えることができる便利なメソッドです。単純な文字の置き換えだけでなく、正規表現を使うことで、より柔軟で高度な文字列操作が可能になります。

基本的な構文は以下の通りです。

  • public String replaceAll(String regex, String replacement)

regexには置き換えたい文字列のパターン(正規表現)を指定し、replacementには新しく置き換える文字列を指定します。初心者の方は、まずはシンプルな文字列を指定する使い方から慣れていくのがおすすめです。

以下に、基本的な使い方を確認してみましょう。


public class ReplaceAllExample {
    public static void main(String[] args) {
        String text = "Java is fun, but Java is powerful.";
        String replacedText = text.replaceAll("Java", "Python");
        System.out.println("置換後の文字列: " + replacedText);
    }
}

この例では、文字列の中にある「Java」という単語をすべて「Python」に置き換えています。1つだけでなく、同じ単語が複数あってもすべて一括で置換される点がポイントです。

実行結果は次のようになります。


置換後の文字列: Python is fun, but Python is powerful.

このようにreplaceAllを使うことで、文字列の中の特定のキーワードを効率よくまとめて変更できます。文章の修正やデータの整形など、さまざまな場面で活用できる基本的なテクニックです。

3. replaceAllメソッドを使うときの注意点

3. replaceAllメソッドを使うときの注意点
3. replaceAllメソッドを使うときの注意点

replaceAllメソッドを使用する際には、以下の点に注意してください。

  • 正規表現を正しく記述する必要があります。
  • 置換対象が見つからない場合、元の文字列がそのまま返されます。
  • $\など特殊な文字を置換文字列に含める場合は、エスケープが必要です。

以下に特殊文字を置換する例を示します。


public class ReplaceSpecialExample {
    public static void main(String[] args) {
        String text = "Price: $100";
        String replacedText = text.replaceAll("\\$", "USD ");
        System.out.println("置換後の文字列: " + replacedText);
    }
}

このプログラムを実行すると、以下の結果が得られます。


置換後の文字列: Price: USD 100

4. replaceAllメソッドの応用例

「4. replaceAllメソッドの応用例」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

4. replaceAllメソッドの応用例
4. replaceAllメソッドの応用例

以下は、複数のスペースを1つのスペースに置き換える例です。


public class NormalizeWhitespace {
    public static void main(String[] args) {
        String text = "Java   is    fun.";
        String normalizedText = text.replaceAll("\\s+", " ");
        System.out.println("正規化された文字列: " + normalizedText);
    }
}

このプログラムを実行すると、以下の結果が得られます。


正規化された文字列: Java is fun.

5. よくある質問と回答

5. よくある質問と回答
5. よくある質問と回答

Q: replaceAllメソッドとreplaceメソッドの違いは何ですか?

A: replaceメソッドは単純な文字列置換を行いますが、replaceAllメソッドは正規表現を利用して置換を行う点が異なります。

まとめ

まとめ
まとめ

今回はJavaのStringクラスのreplaceAllメソッドについて学びました。このメソッドは、正規表現を使用して文字列を置換するために非常に便利です。replaceメソッドとの違いや、特殊文字を扱う方法、正規表現を活用した応用例など、多くの場面で役立つ使い方を理解することができました。replaceAllを使うことで、柔軟で効率的な文字列操作が可能になります。

特に、ホワイトスペースの正規化や特定のパターンに一致する文字列を置換する場合など、replaceAllは非常に強力です。正規表現に慣れることで、このメソッドの可能性をさらに引き出すことができます。


public class SummaryExample {
    public static void main(String[] args) {
        String text = "Code: 123, Cost: $200, Item: JavaBook";
        String sanitizedText = text.replaceAll("\\d+", "###");
        System.out.println("置換後の文字列: " + sanitizedText);
    }
}

このプログラムでは、すべての数字を###に置き換えています。実行結果は以下のようになります。


置換後の文字列: Code: ###, Cost: $###, Item: JavaBook
先生と生徒の振り返り会話

生徒

replaceAllメソッドを使うと、文字列操作がすごく便利になりますね!」

先生

「そうですね。正規表現を活用することで、複雑なパターンにも対応できます。ただ、正規表現の書き方には少し慣れが必要なので、少しずつ学んでいきましょう。」

生徒

replaceメソッドとreplaceAllメソッドの違いもよく理解できました!次はもっと複雑な正規表現にも挑戦してみたいです。」

先生

「それは素晴らしいですね。応用力を身につけることで、プログラムがもっと効率的に書けるようになりますよ。」

この記事を読んだ人からの質問

「この記事を読んだ人からの質問」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaで文字列の一部を正規表現を使って置換する方法は?

Javaでは、StringクラスのreplaceAllメソッドを使用することで、正規表現を使って文字列の一部を効率的に置換することができます。このメソッドは、文字列内でパターンに一致する部分を置き換える際に便利です。

replaceAllメソッドの構文を教えてください。

replaceAllメソッドの構文は次の通りです:public String replaceAll(String regex, String replacement)。ここで、regexは置換対象の正規表現、replacementは置換後の文字列です。

replaceAllメソッドとreplaceメソッドの違いは何ですか?

replaceメソッドは単純な文字列の置換を行いますが、replaceAllメソッドは正規表現を用いて置換を行うため、より柔軟で複雑なパターンに対応できます。

正規表現とは何ですか?

正規表現とは、文字列のパターンを表現するための記法で、特定の文字列を検索・置換する際に非常に有用です。例えば、数字やアルファベット、特定の文字列のパターンに一致する部分を簡単に見つけることができます。

replaceAllメソッドを使用するときに注意すべき点は何ですか?

replaceAllメソッドを使用する際は、正規表現が正しく記述されていることを確認する必要があります。また、特殊文字(例えば$\)を扱う際は、エスケープシーケンスを使う必要があります。

特殊文字をreplaceAllで置換する方法を教えてください。

特殊文字(例えば$\)をreplaceAllメソッドで置換するには、バックスラッシュ(\)を使ってエスケープする必要があります。例えば、価格を表す「$100」を「USD 100」に置換する際には、replaceAll("\\$", "USD ")を使います。

replaceAllメソッドで複数のスペースを1つにまとめる方法は?

replaceAllメソッドを使って、複数のスペースを1つにまとめることができます。正規表現で\\s+を使用することで、連続するスペースを1つのスペースに置換できます。

replaceAllメソッドは文字列の中ですべての一致を置換するのですか?

はい、replaceAllメソッドは文字列内で正規表現に一致するすべての部分を置換します。これにより、複数の一致を一度に処理することができます。

replaceAllメソッドで数字を特定の文字列に置き換える方法を教えてください。

replaceAllメソッドを使用して、数字を特定の文字列に置き換えることができます。例えば、数字を「###」に置き換える場合、replaceAll("\\d+", "###")という正規表現を使用します。

replaceAllメソッドで文字列内のパターンを指定して置換できますか?

はい、replaceAllメソッドでは、正規表現を使って文字列内の特定のパターンを指定し、置換することができます。例えば、複数の単語を一度に置換したい場合、正規表現で複数のパターンを指定することができます。

Javaの基礎を最初から体系的に学びたい人には、 初心者向けで定評のある定番入門書がこちらです。

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

※ Amazon広告リンク

カテゴリの一覧へ
新着記事
New1
Spring
Spring の@RequestParamの使い方!テキストボックス、ラジオボタン、チェックボックス、セレクトボックスの値を受け取る。
更新記事
New2
JSP
EL式の基本構文まとめ!${}で使う書き方のルールを解説
更新記事
New3
Java
JavaのBigIntegerとisProbablePrimeメソッドを完全解説!初心者でもわかる素数判定
更新記事
New4
JSP
JSPで発生する主なエラーとは?初心者向けに原因と対処法をやさしく解説
新規投稿
人気記事
No.1
Java&Spring記事人気No1
JSP
JSPのおすすめ学習・用語まとめ【2026年最新版】初心者が知っておきたい基本をやさしく解説
No.2
Java&Spring記事人気No2
Java
Javaのクラスとインスタンス化、コンストラクタの使い方完全ガイド!初心者でもわかるオブジェクト指向の基礎
No.3
Java&Spring記事人気No3
Spring
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.4
Java&Spring記事人気No4
Spring
Thymeleaf(タイムリーフ)入門!初心者でもわかるSpring Bootとテンプレートエンジンの使い方
No.5
Java&Spring記事人気No5
Spring
Javaの@PreAuthorizeアノテーションを完全ガイド!初心者でもわかるメソッドセキュリティ設定
No.6
Java&Spring記事人気No6
Spring
Springの@Queryアノテーションを徹底解説!初心者でもわかるSpring Bootのカスタムクエリ
No.7
Java&Spring記事人気No7
Java
JavaのExceptionクラスを完全解説!初心者でも理解できる例外処理の基本
No.8
Java&Spring記事人気No8
JSP
JSPでCSSやJSを読み込む基本!外部ファイルのパス指定に注意しよう