Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
文字列.substring()
文字列の一部を切り出して新しい文字列として返すメソッドです。開始インデックスのみを指定すると末尾まで、終了インデックスも指定するとその直前までの部分文字列が得られます。
構文
// 開始インデックスから末尾までを切り出します。 文字列.substring(int beginIndex); // 開始インデックスから終了インデックスの直前までを切り出します。 文字列.substring(int beginIndex, int endIndex);
メソッド一覧
| メソッド | 概要 |
|---|---|
| substring(int beginIndex) | beginIndex の位置から末尾までの部分文字列を返します。インデックスは0始まりです。 |
| substring(int beginIndex, int endIndex) | beginIndex から endIndex の直前までの部分文字列を返します。endIndex の文字は含まれません。 |
サンプルコード
// 開始インデックスから末尾まで切り出します。
String str = "Hello, Java!";
System.out.println(str.substring(7)); // 『Java!』と出力されます。
// 開始・終了インデックスを指定して切り出します。
System.out.println(str.substring(0, 5)); // 『Hello』と出力されます。
// 日付文字列から年・月・日を取り出します。
String date = "2025-06-15";
String year = date.substring(0, 4); // 『2025』
String month = date.substring(5, 7); // 『06』
String day = date.substring(8); // 『15』
System.out.println(year + "年" + month + "月" + day + "日");
// 『2025年06月15日』と出力されます。
// indexOf() と組み合わせて動的に切り出します。
String email = "user@example.com";
int atIndex = email.indexOf("@");
String domain = email.substring(atIndex + 1); // 『example.com』
System.out.println(domain);
// 末尾の3文字を取り出します。
String filename = "report.pdf";
String ext = filename.substring(filename.length() - 3); // 『pdf』
System.out.println(ext);
概要
『substring()』は文字列の一部を新しい文字列として切り出すメソッドです。インデックスは0始まりで、終了インデックスに指定した位置の文字は含まれない点に注意してください。たとえば substring(0, 5) は0〜4番目の文字を返します。
インデックスが負の値だったり、beginIndex が endIndex より大きかったり、文字列の長さを超えた場合は StringIndexOutOfBoundsException がスローされます。事前に『length()』で文字列の長さを確認しておくと安全です。
文字列の長さ取得には『length() / charAt()』、文字列の検索と組み合わせるには『indexOf() / contains()』を使用してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。