金. 1月 31st, 2025

Javaのsubstringメソッドの基本的な使い方

Javaのsubstringメソッドは、文字列から特定の部分文字列を取り出すためのメソッドです。このメソッドは、java.lang.Stringクラスに定義されています。

基本的な使い方

String str = "Hello, World!";
String subStr = str.substring(7, 12);
System.out.println(subStr);  // Output: World

上記のコードでは、substringメソッドを使用して、文字列strからインデックス7から12までの部分文字列を取り出しています。Javaの文字列のインデックスは0から始まるため、7は8番目の文字Wを、12は13番目の文字dの一つ前を指しています。そのため、出力はWorldとなります。

注意点

substringメソッドの引数に指定するインデックスが文字列の範囲外の場合、StringIndexOutOfBoundsExceptionがスローされます。したがって、substringメソッドを使用する際は、指定するインデックスが文字列の長さ内に収まるように注意が必要です。

String str = "Hello, World!";
String subStr = str.substring(7, 20);  // Throws StringIndexOutOfBoundsException

上記のコードでは、substringメソッドの終了インデックスに20を指定していますが、文字列strの長さは13しかないため、StringIndexOutOfBoundsExceptionがスローされます。このようなエラーを避けるためには、substringメソッドの引数に指定するインデックスが文字列の長さを超えないようにする必要があります。

以上がJavaのsubstringメソッドの基本的な使い方と注意点です。このメソッドを使うことで、文字列から任意の部分文字列を簡単に取り出すことができます。ただし、引数に指定するインデックスの範囲には注意が必要です。それでは、次の小見出しである「開始位置を指定して文字を切り出す方法」に進みましょう。

開始位置を指定して文字を切り出す方法

Javaのsubstringメソッドは、開始位置を指定して文字列を切り出すことも可能です。この場合、メソッドの引数には開始位置のインデックスのみを指定します。

基本的な使い方

String str = "Hello, World!";
String subStr = str.substring(7);
System.out.println(subStr);  // Output: World!

上記のコードでは、substringメソッドを使用して、文字列strからインデックス7から最後までの部分文字列を取り出しています。Javaの文字列のインデックスは0から始まるため、7は8番目の文字Wを指しています。そのため、出力はWorld!となります。

注意点

substringメソッドの引数に指定する開始インデックスが文字列の範囲外の場合、StringIndexOutOfBoundsExceptionがスローされます。したがって、substringメソッドを使用する際は、指定する開始インデックスが文字列の長さ内に収まるように注意が必要です。

String str = "Hello, World!";
String subStr = str.substring(20);  // Throws StringIndexOutOfBoundsException

上記のコードでは、substringメソッドの開始インデックスに20を指定していますが、文字列strの長さは13しかないため、StringIndexOutOfBoundsExceptionがスローされます。このようなエラーを避けるためには、substringメソッドの引数に指定する開始インデックスが文字列の長さを超えないようにする必要があります。

以上がJavaのsubstringメソッドを使用して、開始位置を指定して文字列を切り出す方法と注意点です。このメソッドを使うことで、文字列から任意の部分文字列を簡単に取り出すことができます。ただし、引数に指定する開始インデックスの範囲には注意が必要です。それでは、次の小見出しである「開始、終了位置を指定して文字を切り出す方法」に進みましょう。

開始、終了位置を指定して文字を切り出す方法

Javaのsubstringメソッドは、開始位置と終了位置を指定して文字列を切り出すことも可能です。この場合、メソッドの引数には開始位置のインデックスと終了位置のインデックスを指定します。

基本的な使い方

String str = "Hello, World!";
String subStr = str.substring(7, 12);
System.out.println(subStr);  // Output: World

上記のコードでは、substringメソッドを使用して、文字列strからインデックス7から12までの部分文字列を取り出しています。Javaの文字列のインデックスは0から始まるため、7は8番目の文字Wを、12は13番目の文字dの一つ前を指しています。そのため、出力はWorldとなります。

注意点

substringメソッドの引数に指定する開始インデックスや終了インデックスが文字列の範囲外の場合、StringIndexOutOfBoundsExceptionがスローされます。したがって、substringメソッドを使用する際は、指定する開始インデックスと終了インデックスが文字列の長さ内に収まるように注意が必要です。

String str = "Hello, World!";
String subStr = str.substring(7, 20);  // Throws StringIndexOutOfBoundsException

上記のコードでは、substringメソッドの終了インデックスに20を指定していますが、文字列strの長さは13しかないため、StringIndexOutOfBoundsExceptionがスローされます。このようなエラーを避けるためには、substringメソッドの引数に指定する開始インデックスと終了インデックスが文字列の長さを超えないようにする必要があります。

以上がJavaのsubstringメソッドを使用して、開始位置と終了位置を指定して文字列を切り出す方法と注意点です。このメソッドを使うことで、文字列から任意の部分文字列を簡単に取り出すことができます。ただし、引数に指定する開始インデックスと終了インデックスの範囲には注意が必要です。それでは、次の小見出しである「右から(後ろから)切り出す方法」に進みましょう。

右から(後ろから)切り出す方法

Javaのsubstringメソッドは、文字列の先頭からのインデックスを指定して部分文字列を取り出しますが、文字列の末尾からのインデックスを指定して部分文字列を取り出す方法は直接的には提供されていません。しかし、文字列の長さ(lengthメソッドで取得可能)と組み合わせることで、右から(後ろから)文字列を切り出すことが可能です。

基本的な使い方

String str = "Hello, World!";
int length = str.length();
String subStr = str.substring(length - 5);
System.out.println(subStr);  // Output: World

上記のコードでは、文字列strの長さから5を引いた値をsubstringメソッドの引数に指定しています。これにより、文字列の右から5文字を切り出すことができます。そのため、出力はWorldとなります。

注意点

substringメソッドの引数に指定する開始インデックスが文字列の範囲外の場合、StringIndexOutOfBoundsExceptionがスローされます。したがって、substringメソッドを使用する際は、指定する開始インデックスが文字列の長さ内に収まるように注意が必要です。

String str = "Hello, World!";
int length = str.length();
String subStr = str.substring(length + 5);  // Throws StringIndexOutOfBoundsException

上記のコードでは、文字列strの長さに5を足した値をsubstringメソッドの引数に指定していますが、これは文字列の長さを超えているため、StringIndexOutOfBoundsExceptionがスローされます。このようなエラーを避けるためには、substringメソッドの引数に指定する開始インデックスが文字列の長さを超えないようにする必要があります。

以上がJavaのsubstringメソッドを使用して、右から(後ろから)文字列を切り出す方法と注意点です。この方法を使うことで、文字列の末尾から任意の部分文字列を簡単に取り出すことができます。ただし、引数に指定する開始インデックスの範囲には注意が必要です。それでは、次の小見出しである「一文字だけを切り出す方法」に進みましょう。

一文字だけを切り出す方法

Javaでは、charAtメソッドを使用して、文字列から一文字だけを切り出すことができます。このメソッドは、java.lang.Stringクラスに定義されています。

基本的な使い方

String str = "Hello, World!";
char ch = str.charAt(7);
System.out.println(ch);  // Output: W

上記のコードでは、charAtメソッドを使用して、文字列strからインデックス7の文字を取り出しています。Javaの文字列のインデックスは0から始まるため、7は8番目の文字Wを指しています。そのため、出力はWとなります。

注意点

charAtメソッドの引数に指定するインデックスが文字列の範囲外の場合、StringIndexOutOfBoundsExceptionがスローされます。したがって、charAtメソッドを使用する際は、指定するインデックスが文字列の長さ内に収まるように注意が必要です。

String str = "Hello, World!";
char ch = str.charAt(20);  // Throws StringIndexOutOfBoundsException

上記のコードでは、charAtメソッドの引数に20を指定していますが、文字列strの長さは13しかないため、StringIndexOutOfBoundsExceptionがスローされます。このようなエラーを避けるためには、charAtメソッドの引数に指定するインデックスが文字列の長さを超えないようにする必要があります。

以上がJavaのcharAtメソッドを使用して、一文字だけを切り出す方法と注意点です。このメソッドを使うことで、文字列から任意の一文字を簡単に取り出すことができます。ただし、引数に指定するインデックスの範囲には注意が必要です。それでは、次の小見出しである「例外処理」に進みましょう。

例外処理

Javaでは、substringメソッドやcharAtメソッドを使用する際に、指定するインデックスが文字列の長さを超えているとStringIndexOutOfBoundsExceptionがスローされます。このような例外を適切に処理するためには、try-catchブロックを使用します。

基本的な使い方

String str = "Hello, World!";
try {
    String subStr = str.substring(20);  // This will throw an exception
    System.out.println(subStr);
} catch (StringIndexOutOfBoundsException e) {
    System.out.println("The specified index is out of range!");
}

上記のコードでは、substringメソッドの引数に20を指定していますが、文字列strの長さは13しかないため、StringIndexOutOfBoundsExceptionがスローされます。この例外はcatchブロックで捕捉され、エラーメッセージが出力されます。

注意点

try-catchブロックを使用することで、例外が発生した場合でもプログラムが停止することなく、適切に例外を処理することができます。しかし、try-catchブロックは例外を処理するためのものであり、例外が発生しないようなコードを書くことが最も重要です。したがって、substringメソッドやcharAtメソッドを使用する際は、指定するインデックスが文字列の長さを超えないように注意が必要です。

以上がJavaのsubstringメソッドとcharAtメソッドを使用して文字列を切り出す際の例外処理の方法と注意点です。これらのメソッドを使うことで、文字列から任意の部分文字列を簡単に取り出すことができます。ただし、引数に指定するインデックスの範囲には注意が必要です。それでは、次の小見出しである「まとめ」に進みましょう。それでは、次の小見出しである「まとめ」に進みましょう。

By jakoten

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です