VOOZH about

URL: https://www.geeksforgeeks.org/java/stringbuilder-substring-method-in-java-with-examples/

⇱ StringBuilder substring() method in Java with examples - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

StringBuilder substring() method in Java with examples

Last Updated : 19 Dec, 2025

The substring() method of the StringBuilder class is used to extract a portion of characters from an existing character sequence and return it as a new String. It always returns a new String object and does not modify the original StringBuilder. Indexing is zero-based, and passing invalid index values results in runtime exceptions.

Example.


Output
Substring = ForGeeks

Explanation: Index 5 points to the character 'F'. All characters from index 5 to the end are returned as a new String.

Syntax

public String substring(int start, int end)

Parameter:

  • start: starting index (inclusive)
  • end (optional): ending index (exclusive)

Return Type: String

Example 1. Extracting a Substring Starting from a Specific Index


Output
Substring = ForGeeks

Explanation:

  • In the code, substring(5) is called on the StringBuilder object str, where index 5 corresponds to the character 'F'.
  • All characters from index 5 up to the end of the sequence are extracted and returned as a new String, while the original StringBuilder remains unchanged.

Example 2. Extracting a Substring Using Start and End Index


Output
For

Explanation:

  • In the statement sb.substring(5, 8), index 5 is the starting position (inclusive), pointing to the character 'F'.
  • Index 8 is the ending position (exclusive), so characters at indices 5, 6, and 7 are included in the result.
  • The extracted substring "For" is returned as a new String, and the original StringBuilder sb remains unchanged.

Handling Invalid Index Values

Passing a negative index or an index greater than the length of the StringBuilder causes a StringIndexOutOfBoundsException at runtime.


Output
java.lang.StringIndexOutOfBoundsException: Range [-3, 13) out of bounds for length 13

Explanation: Negative start index is invalid. The method throws "StringIndexOutOfBoundsException" at runtime.

Comment