カテゴリ: Java 更新日: 2026/03/27

JavaのStringクラスとreplaceメソッドを完全解説!初心者でも理解できる文字列置換の使い方

replaceメソッド
replaceメソッド

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

生徒

「Javaで文字列の一部を別の文字に置き換える方法はありますか?」

先生

「Javaでは、Stringクラスのreplaceメソッドを使うと簡単に文字列の一部を置き換えることができますよ。」

生徒

「具体的にはどうやって使うんですか?」

先生

「それでは、基本的な使い方を見ていきましょう!」

1. JavaのStringクラスとは?文字列操作の基本を学ぼう

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

1. JavaのStringクラスとは?文字列操作の基本を学ぼう
1. JavaのStringクラスとは?文字列操作の基本を学ぼう

JavaのStringクラスは、テキスト(文字列)を扱うための設計図のようなものです。プログラミングにおいて、ユーザーの名前を表示したり、メッセージを加工したりする作業は頻繁に発生します。その際、最も活用されるのがこのStringクラスです。

最大の特徴は、一度作成した文字列の内容を後から変更できない「不変性(Immutable)」という性質を持っている点です。そのため、文字を置き換えたり結合したりする場合は、元のデータを書き換えるのではなく、常に「新しい文字列」を作り出して対応します。

プログラミング未経験の方でもイメージしやすいよう、身近な例でコードを見てみましょう。


public class StringBasicExample {
    public static void main(String[] args) {
        // 変数に文字列を代入(Stringクラスの利用)
        String greeting = "こんにちは、Javaの世界へ!";
        
        // 文字列の長さを調べるメソッドを使ってみる
        int length = greeting.length();
        
        System.out.println("元のメッセージ: " + greeting);
        System.out.println("文字の長さは: " + length + "文字です。");
    }
}

このように、Stringクラスには文字列の長さを測るlength()や、今回詳しく解説する文字を置換するreplace()など、便利な道具(メソッド)が豊富に備わっています。これらを組み合わせることで、複雑な文字処理も驚くほどシンプルに記述できるのがJavaの強みです。

2. replaceメソッドの使い方:文字列の一部をサクッと置き換える

2. replaceメソッドの使い方:文字列の一部をサクッと置き換える
2. replaceメソッドの使い方:文字列の一部をサクッと置き換える

Javaで「特定の文字を別の文字に変えたい」という時に一番よく使われるのが、このreplaceメソッドです。例えば、文章の中の誤字を修正したり、特定の見出し記号を書き換えたりする際に非常に便利です。

このメソッドには、大きく分けて2つの使い道(構文)があります。初心者の方は、「文字」を入れ替えるか「言葉(文字列)」を入れ替えるかの違いだと覚えておけばOKです。

  • public String replace(char oldChar, char newChar) : 1文字だけを置き換える場合
  • public String replace(CharSequence target, CharSequence replacement) : 文章や単語をまとめて置き換える場合

ここで重要なポイントが1つあります。Javaの文字列は一度作ると内容を変えられないという性質があるため、元の変数の内容は変わらず、置き換え後の「新しい文字列」が新しく作られるという点です。そのため、結果を表示するには新しい変数に代入して使うのが一般的です。

プログラミングが初めての方でも分かりやすいように、日常的な言葉を使ったサンプルコードを見てみましょう。


public class ReplaceExample {
    public static void main(String[] args) {
        // 1. 元になる文章を用意します
        String text = "今日のランチはカレーです。カレーは美味しいですね。";
        
        // 2. 「カレー」を「オムライス」に置き換えて、新しい変数に入れます
        // すべての「カレー」が「オムライス」に一括で変わります
        String replacedText = text.replace("カレー", "オムライス");
        
        // 3. 結果を確認してみましょう
        System.out.println("元の文章: " + text);
        System.out.println("置換後の文章: " + replacedText);
    }
}

このプログラムを実行すると、コンソールには以下のような結果が表示されます。1回の命令で、文章内のすべての対象キーワードが入れ替わっているのがわかりますね。


元の文章: 今日のランチはカレーです。カレーは美味しいですね。
置換後の文章: 今日のランチはオムライスです。オムライスは美味しいですね。

このように、replaceメソッドは「どこにある、どの言葉を、何に変えるか」を直感的に指定できるため、データのクリーニングや簡易的なテンプレート作成など、実務でも非常に多用される強力なツールです。

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

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

replaceメソッドを使用する際の注意点を以下に挙げます。

  • 元の文字列は変更されません。新しい文字列が返されます。
  • 対象文字や文字列が存在しない場合は、元の文字列がそのまま返されます。

以下に、安全に使用する例を示します。


public class SafeReplaceExample {
    public static void main(String[] args) {
        String text = "Java programming";
        String replacedText = text.replace("Python", "C++");
        System.out.println("置換結果: " + replacedText);
    }
}

このプログラムでは、対象文字列が存在しない場合でもエラーは発生せず、元の文字列が返されます。


置換結果: Java programming

4. replaceメソッドの応用例

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

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

以下は、replaceメソッドを使って特定の単語を一括で置換する例です。


public class BatchReplaceExample {
    public static void main(String[] args) {
        String text = "I like Java. Java is versatile.";
        String replacedText = text.replace("Java", "Python");
        System.out.println("置換後の文章: " + replacedText);
    }
}

このプログラムを実行すると、次のような結果が得られます。


置換後の文章: I like Python. Python is versatile.

このように、replaceメソッドを使用することで、文字列内の複数箇所を効率的に置き換えることができます。

5. よくある質問と回答

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

Q: replaceメソッドは部分一致にも対応していますか?

A: いいえ、replaceメソッドは完全一致の置換に使用されます。部分一致やより柔軟な置換を行いたい場合は、replaceAllメソッドや正規表現を使用することを検討してください。

6. まとめ

6. まとめ
6. まとめ

本記事では、JavaのStringクラスのreplaceメソッドについて詳しく解説しました。このメソッドを使うことで、文字列内の特定の部分を簡単に置き換えることができます。replaceメソッドは、元の文字列を変更せずに新しい文字列を生成するため、プログラム内で安全に操作を行うことができます。

置換対象が文字でも文字列でも対応しており、柔軟に使用できますが、部分一致には対応していないため、replaceAllや正規表現を使用するケースもあります。また、対象文字列が見つからない場合は、元の文字列がそのまま返されるため、エラーを気にせず使用できる点も魅力です。

以下に、さらに応用的な使用例を示します。


public class ReplaceAdvancedExample {
    public static void main(String[] args) {
        String text = "Learning Java is fun. Java is also powerful.";
        String replacedText = text.replace("Java", "Kotlin");
        System.out.println("置換後の文章: " + replacedText);
    }
}

このプログラムを実行すると、次のような結果が得られます。


置換後の文章: Learning Kotlin is fun. Kotlin is also powerful.

このように、replaceメソッドを使うことで、特定の単語や文字列を効率的に置換し、新しい文章やデータを生成できます。

先生と生徒の振り返り会話

生徒

replaceメソッドを使うと、簡単に文字列を置き換えられるんですね!」

先生

「その通りです。置換処理を使うと、入力データのフォーマット変更や特定の文字列の修正が効率的に行えますよ。」

生徒

「でも、部分一致には対応していないんですね。」

先生

「そうです。その場合は、replaceAllや正規表現を使う方法も覚えておくと便利ですよ。どちらも合わせて学ぶと、さらに柔軟に文字列操作ができるようになります。」

生徒

「わかりました!さっそくプログラムで試してみます!」

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

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

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

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

JavaのStringクラスとは具体的にどのような役割を持つクラスなのですか?初心者にもわかりやすく教えてください。

JavaのStringクラスは、プログラミングにおいて「文字列」を専門に扱うための非常に重要かつ基本的なクラスです。名前や住所、メッセージといったテキストデータを保持するだけでなく、文字列の長さを調べたり、特定の部分を抜き出したり、今回解説したreplaceメソッドのように文字を置き換えたりといった、文字列操作に関する便利な機能(メソッド)がたくさん用意されています。Javaプログラミングを学ぶ上で、Stringクラスの習得は避けて通れない必須の知識と言えるでしょう。
カテゴリの一覧へ
新着記事
New1
Spring
SpringのModelMap完全ガイド!初心者でもわかる画面表示とデータ受け渡し
更新記事
New2
Servlet
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
更新記事
New3
Java
Javaの継承を完全ガイド!初心者でもわかるオブジェクト指向プログラミング
更新記事
New4
Spring
Springの@Queryアノテーションを徹底解説!初心者でもわかるSpring Bootのカスタムクエリ
更新記事
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Spring
Springの@Componentアノテーションの使い方を徹底解説!初心者でもわかるSpring Boot入門
No.3
Java&Spring記事人気No3
Java
Java開発環境「Eclipse(Pleiades)」のインストール方法とメリットを初心者向けに解説
No.4
Java&Spring記事人気No4
Spring
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.5
Java&Spring記事人気No5
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
No.6
Java&Spring記事人気No6
Spring
Thymeleaf(タイムリーフ)入門!初心者でもわかるSpring Bootとテンプレートエンジンの使い方
No.7
Java&Spring記事人気No7
Java
Javaの@SuppressWarningsアノテーションの使い方を完全ガイド!初心者でもわかる警告の抑制方法
No.8
Java&Spring記事人気No8
Spring
Spring BootのJakarta移行ガイド!初心者向けjavax→jakarta変更ポイント徹底解説