カテゴリ: Java 更新日: 2025/06/03
PR
独学でJavaを学んでいる方向け
「実務レベルに到達できるか不安」「1人だと詰まることが多い」場合は、 実践重視で学べる環境を一度確認しておくのも一つの手です。
EBAエデュケーション |学習内容・サポートを見る

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

lastIndexOfメソッド
lastIndexOfメソッド

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

生徒

「Javaで文字列の中から最後に現れる文字や単語を探す方法を教えてください!」

先生

「それならStringクラスのlastIndexOfメソッドを使うと、文字列の中で指定された文字や単語が最後に現れる位置を簡単に見つけられますよ。」

生徒

「具体的にはどのように使うんですか?」

先生

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

1. JavaのStringクラスとは?

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

JavaのStringクラスは、文字列を扱うための非常に重要なクラスです。このクラスには、文字列操作を簡単にするためのさまざまなメソッドが用意されています。

文字列の検索もその一つであり、lastIndexOfメソッドを使うと、文字列の中で最後に現れる指定された文字や単語の位置を特定できます。これは、文字列の末尾に近い位置で検索を行いたい場合に役立ちます。

2. lastIndexOfメソッドの使い方

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

lastIndexOfメソッドは、文字列内で特定の文字や単語が最後に出現する位置を返します。このメソッドの構文は以下の通りです。

  • public int lastIndexOf(String str)
  • public int lastIndexOf(char ch)
  • public int lastIndexOf(String str, int fromIndex)
  • public int lastIndexOf(char ch, int fromIndex)

このメソッドは、見つかった場合はそのインデックスを、見つからない場合は-1を返します。以下に基本的な例を示します。


public class LastIndexOfExample {
    public static void main(String[] args) {
        String text = "Java is a popular programming language. Java is powerful.";
        int lastIndex = text.lastIndexOf("Java");
        System.out.println("文字列 'Java' は最後にインデックス " + lastIndex + " にあります。");
    }
}

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


文字列 'Java' は最後にインデックス 40 にあります。
PR

将来を見据えて、+αのスキルを身につけたい方へ

JavaやLinuxを学んでいても、「このままで市場価値は上がるのか」 「キャリアの選択肢を広げたい」と感じる方は少なくありません。

AIを学ぶならアイデミープレミアム

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

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

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

  • 検索は大文字と小文字を区別します。
  • 検索範囲を指定しない場合は、文字列全体が検索対象となります。
  • 文字列が見つからない場合は-1を返します。

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


public class SafeLastIndexOfExample {
    public static void main(String[] args) {
        String text = "Java is fun, but Java can be challenging.";
        int lastIndex = text.lastIndexOf("Python");

        if (lastIndex != -1) {
            System.out.println("指定された文字列は最後にインデックス " + lastIndex + " にあります。");
        } else {
            System.out.println("指定された文字列は見つかりませんでした。");
        }
    }
}

このプログラムでは、見つからない場合に適切なメッセージを表示します。


指定された文字列は見つかりませんでした。

4. lastIndexOfメソッドの応用例

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

以下は、lastIndexOfメソッドを使って特定の単語がすべて出現する箇所を逆順で検索する例です。


public class ReverseSearchExample {
    public static void main(String[] args) {
        String text = "Java is powerful. Java is versatile. Java is everywhere.";
        String keyword = "Java";
        int index = text.lastIndexOf(keyword);

        while (index != -1) {
            System.out.println("キーワード '" + keyword + "' はインデックス " + index + " にあります。");
            index = text.lastIndexOf(keyword, index - 1);
        }
    }
}

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


キーワード 'Java' はインデックス 43 にあります。
キーワード 'Java' はインデックス 24 にあります。
キーワード 'Java' はインデックス 0 にあります。

このように、lastIndexOfメソッドを繰り返し使用することで、文字列内の特定の単語の出現箇所を逆順に検索することができます。

5. よくある質問と回答

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

Q: lastIndexOfメソッドで部分一致を検索できますか?

A: いいえ、lastIndexOfメソッドは完全一致の検索に使用されます。部分一致を検索する場合は、正規表現やcontainsメソッドを使用することを検討してください。

6. まとめ

6. まとめ
6. まとめ

本記事では、JavaのStringクラスに含まれるlastIndexOfメソッドについて詳しく解説しました。このメソッドは、文字列の中で指定された文字や単語が最後に出現する位置を特定するために非常に便利です。特に、文字列の末尾に近い部分を検索したい場合や、逆方向の検索が必要な場合に役立ちます。

使用時には大文字と小文字を区別する点や、検索対象が見つからない場合には-1を返す点に注意する必要があります。また、lastIndexOfメソッドは指定したインデックスから逆方向に検索を開始できるため、柔軟な検索処理が可能です。

以下は、さらに実践的な使用例です。


public class AdvancedLastIndexOfExample {
    public static void main(String[] args) {
        String text = "This is a test. Testing is essential. Test cases are important.";
        String keyword = "test";
        int index = text.lastIndexOf(keyword);

        while (index != -1) {
            int contextStart = Math.max(0, index - 10);
            int contextEnd = Math.min(text.length(), index + keyword.length() + 10);
            System.out.println("キーワード '" + keyword + "' の周辺文脈: " + text.substring(contextStart, contextEnd));
            index = text.lastIndexOf(keyword, index - 1);
        }
    }
}

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


キーワード 'test' の周辺文脈: This is a test. Testing
キーワード 'test' の周辺文脈: Testing is essential. Test
キーワード 'test' の周辺文脈: essential. Test cases are

このように、文字列検索の際に周辺文脈を表示する機能を追加することで、より詳細なデータ解析やエラーログの調査などに応用できます。

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

生徒

lastIndexOfメソッドを使うと、文字列の末尾に近い箇所を簡単に検索できるのが便利ですね!」

先生

「その通りです。検索範囲を指定することで、柔軟な検索が可能になります。」

生徒

「逆方向に検索できることも知りました!これで、ログデータの解析やデバッグに役立てられそうです。」

先生

「今回学んだ内容を活かして、実際のプログラムでどんどん試してみてください。他の文字列操作メソッドとも組み合わせるとさらに便利になりますよ。」

カテゴリの一覧へ
新着記事
PR

JavaやLinuxの検証環境に
低コストで使えるVPS

Spring Data JPAのJpaRepositoryインターフェースの使い方を完全ガイド!初心者でも安心
JSPの実行の流れをフローで理解!サーブレットとの関係性と処理順序を理解しよう
JavaのLocalDateTimeクラスとisAfterメソッドを完全ガイド!初心者でもわかる日時比較
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
PR 未経験からITエンジニアを目指す方へ

Javaを学んでいるけど、「このまま未経験で就職できるか不安」という20代向け。 学歴不問・無料サポートの就職支援という選択肢があります。

Tamesy |無料で面談予約
人気記事
No.1
Java&Spring記事人気No1
JavaのIntegerクラスの使い方を完全ガイド!初心者でもわかる整数操作
No.2
Java&Spring記事人気No2
Javaのラムダ式で配列を扱う!Arrays.streamの基本と注意点を初心者向けに解説
No.3
Java&Spring記事人気No3
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.4
Java&Spring記事人気No4
JavaのRuntimeExceptionを完全解説!初心者でもわかるjava.langパッケージの基礎
No.5
Java&Spring記事人気No5
Spring BootのJakarta移行ガイド!初心者向けjavax→jakarta変更ポイント徹底解説
No.6
Java&Spring記事人気No6
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.7
Java&Spring記事人気No7
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
No.8
Java&Spring記事人気No8
Thymeleaf(タイムリーフ)入門!初心者でもわかるSpring Bootとテンプレートエンジンの使い方
PR

ローカルPCに依存しない開発環境という選択肢

Java・Linuxの検証や学習環境を、クラウド上ですぐに用意できます。

Java入門

Javaの基礎を体系的に学びたい場合は、文法だけでなく 「なぜそう書くのか」まで丁寧に解説されているため、 初心者でも理解しやすい定番の1冊です。

スッキリわかるJava入門 第4版

※ 紙の書籍・電子書籍どちらでも購入できます

Java実践

ジェネリクス、enum、シールクラスなどの型設計から、 関数型プログラミング(ラムダ式・Stream API)、 JVM制御やリフレクション、外部ライブラリの活用までを扱っており、 「Javaを使えるレベル」へ進むための内容が網羅されています。

スッキリわかるJava入門 実践編 第4版

※ 紙の書籍・電子書籍どちらでも購入できます

Spring入門

Spring Frameworkの全体像から、 Webアプリ開発で必要となる主要機能までを 体系的に解説している定番の入門書です。

Spring徹底入門 第2版 Spring FrameworkによるJavaアプリケーション開発

※ 紙の書籍・電子書籍どちらでも購入できます

PR 実務経験のあるエンジニア向け

Javaなどの実務経験があり、次のキャリアを検討している方向け。 IT・ゲーム業界に特化した転職支援サービスという選択肢もあります。

転職ボックス |IT・ゲーム業界専門