JavaのStringクラスのsubstring()メソッドの例を示します。
JavaのStringのsubstring()メソッドは、この文字列の部分文字列を返します。このメソッドは常に新しい文字列を返し、元の文字列は変更されません。なぜなら、JavaではStringは不変(immutable)だからです。
JavaのStringのsubstring()メソッド
JavaのStringのsubstringメソッドはオーバーロードされており、2つのバリエーションがあります。
-
- substring(int beginIndex): このメソッドは、この文字列の部分文字列を返します。部分文字列は、指定されたインデックスの文字で始まり、この文字列の末尾まで延びます。
- substring(int beginIndex, int endIndex): 部分文字列は、指定されたbeginIndexから始まり、インデックスendIndex-1の文字まで延びます。したがって、部分文字列の長さは(endIndex – beginIndex)です。
string.substring()メソッドの重要なポイント
-
- 以下の条件がどれか1つでも満たされている場合、いずれの文字列の部分文字列メソッドもIndexOutOfBoundsExceptionをスローすることがあります。
beginIndexが負の場合
endIndexがこのStringオブジェクトの長さよりも大きい場合
beginIndexがendIndexよりも大きい場合
両方のsubstringメソッドにおいて、beginIndexは含まれ、endIndexは含まれません。
サンプル文:JavaのStringのsubstring()メソッドの例
オプション1:JavaのStringのsubstring()メソッドの使用例
以下はJavaでの文字列の部分文字列を処理する簡単なプログラムです。
package com.scdev.util;
public class StringSubstringExample {
public static void main(String[] args) {
String str = "www.scdev.com";
System.out.println("Last 4 char String: " + str.substring(str.length() - 4));
System.out.println("First 4 char String: " + str.substring(0, 4));
System.out.println("website name: " + str.substring(4, 14));
}
}
上記の部分文字列の例プログラムの出力は次のとおりです。
Last 4 char String: .com
First 4 char String: www.
website name: scdev
substring()メソッドを使用してパリンドロームをチェックする。
文字列が回文かどうかをチェックするために、substring()メソッドを使用することができます。
package com.scdev.util;
public class StringPalindromeTest {
public static void main(String[] args) {
System.out.println(checkPalindrome("abcba"));
System.out.println(checkPalindrome("XYyx"));
System.out.println(checkPalindrome("871232178"));
System.out.println(checkPalindrome("CCCCC"));
}
private static boolean checkPalindrome(String str) {
if (str == null)
return false;
if (str.length() <= 1) {
return true;
}
String first = str.substring(0, 1);
String last = str.substring(str.length() - 1);
if (!first.equals(last))
return false;
else
return checkPalindrome(str.substring(1, str.length() - 1));
}
}
ここでは、最初の文字と最後の文字が同じかどうかをチェックしています。もし同じでなければ、falseを返します。さもなければ、最初と最後の文字を取り除いた部分文字列を再帰的にメソッドに渡して呼び出します。
私たちのGitHubリポジトリから、さらに多くの文字列の例をチェックアウトすることができます。
参照:Oracle API Doc