013 クラスライブラリ(文字列を扱うクラス) 003解答例

特定の部分文字列の検索:

public class SubstringSearch {
    public static void main(String[] args) {
        // 入力として与えられた文字列
        String input = "Hello, World!";

        // 検索する部分文字列
        String searchString = "World";

        // 部分文字列の検索
        int position = findSubstring(input, searchString);

        // 結果を表示
        System.out.println("入力: " + input);
        System.out.println("部分文字列 '" + searchString + "' の位置: " + position);
    }

    // 部分文字列を検索して位置を返すメソッド
    private static int findSubstring(String input, String searchString) {
        return input.indexOf(searchString);
    }
}

指定された部分文字列を別の文字列に置換:

public class SubstringReplacement {
    public static void main(String[] args) {
        // 入力として与えられた文字列
        String input = "Hello, World!";

        // 置換対象の部分文字列
        String targetSubstring = "World";

        // 置換後の文字列
        String replacement = "Java";

        // 部分文字列の置換
        String result = replaceSubstring(input, targetSubstring, replacement);

        // 結果を表示
        System.out.println("入力: " + input);
        System.out.println("置換後: " + result);
    }

    // 部分文字列を別の文字列に置換するメソッド
    private static String replaceSubstring(String input, String targetSubstring, String replacement) {
        return input.replace(targetSubstring, replacement);
    }
}

これらのプログラムは、それぞれ指定された部分文字列を検索して位置を返すメソッド(findSubstring)と、指定された部分文字列を別の文字列に置換するメソッド(replaceSubstring)を実装しています。

部分文字列の検索と置換

  1. 部分文字列の検索:
    • indexOf メソッドは、文字列内で指定された部分文字列が最初に現れる位置(インデックス)を返します。
    • 例: int position = input.indexOf(searchString); は、searchString が最初に現れる位置を position に格納します。
    • もしも部分文字列が見つからない場合は、indexOf-1 を返します。
  2. 部分文字列の置換:
    • replace メソッドは、指定された部分文字列を別の文字列で置換します。
    • 例: String result = input.replace(targetSubstring, replacement); は、targetSubstringreplacement で置換した文字列を result に格納します。
    • もしも部分文字列が見つからない場合、元の文字列がそのまま返ります。

これらの操作は、文字列処理において非常に一般的です。特定の部分文字列を検索してその位置を知りたい場合や、特定の部分文字列を別の文字列に置換してデータを変更したい場合に利用されます。これらのメソッドは、テキスト処理や文字列操作が必要な多くの場面で有用です。

「013 クラスライブラリ」問題集リスト