StringBuffer substring() method in Java with Examples - GeeksforGeeks

30 Jul, 2019
In StringBuffer class, there are two types of substring method depending upon the parameters passed to it.
The substring(int start) method of StringBuffer class is the inbuilt method used to return a substring start from index start and extends to end of this sequence. The string returned by this method contains all character from index start to end of the old sequence.
Syntax:
public String substring(int start)
Parameters: This method accepts only one parameter start which is Integer type value refers to the start index of substring.
Return Value: This method returns the substring lie in the range start to end of old sequence.
Exception: This method throws StringIndexOutOfBoundsException if start is less than zero, or greater than the length of this object.
Below programs illustrate the StringBuffer substring() method:
Example 1:
// Java program to demonstrate// the substring() Method.  class GFG {    public static void main(String[] args)    {          // create a StringBuffer object        // with a String pass as parameter        StringBuffer str            = new StringBuffer("GeeksForGeeks");          // print string        System.out.println("String contains = "                           + str);          // get substring start from index 5        // using substring() and print results        System.out.println("SubSequence = "                           + str.substring(5));    }}
String contains = GeeksForGeeks
SubSequence = ForGeeks

Example 2: To demonstrate StringIndexOutOfBoundsException
// Java program to demonstrate// Exception thrown by the substring() Method.  class GFG {    public static void main(String[] args)    {          // create a StringBuffer object        // with a String pass as parameter        StringBuffer str            = new StringBuffer("Indian Team Played Well");          try {            // get substring starts from index -7            // using substring() and print            str.substring(-7);        }          catch (Exception e) {            System.out.println("Exception: " + e);        }    }}
Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: -7

The substring(int start, int end) method of StringBuffer class is the inbuilt method used to return a substring start from index start and extends to the index end-1 of this sequence. The string returned by this method contains all character from index start to index end-1 of the old sequence.
Syntax:
public String substring(int start)
Parameters: This method accepts two parameter start which is Integer type value refers to the start index of substring and end which is also a Integer type value refers to the end index of substring.
Return Value: This method returns the substring lie in the range index start to index end-1 of old sequence.
Exception: This method throws StringIndexOutOfBoundsException if start or end are negative or greater than length(), or start is greater than end.
Below programs illustrate the StringBuffer.substring() method:
Example 1:
// Java program to demonstrate// the substring() Method.  class GFG {    public static void main(String[] args)    {          // create a StringBuffer object        // with a String pass as parameter        StringBuffer str            = new StringBuffer("GeeksForGeeks");          // print string        System.out.println("String contains = " + str);          // get substring start from index 5 to index 8        // using substring() and print results        System.out.println("SubSequence = "                           + str.substring(5, 8));    }}
String contains = GeeksForGeeks
SubSequence = For

Example 2: To demonstrate StringIndexOutOfBoundsException
// Java program to demonstrate// Exception thrown by the substring() Method.  class GFG {    public static void main(String[] args)    {          // create a StringBuffer object        // with a String pass as parameter        StringBuffer str            = new StringBuffer("Indian Team Played Well");          try {            // get substring starts from index 7            // and end at index 3            // using substring() and print            str.substring(9, 3);        }          catch (Exception e) {              System.out.println("Exception: " + e);        }    }}
Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: -6

References:
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuffer.html#substring(int, int)
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuffer.html#substring(int)
Akanksha_Rai
java-basics
Java-Functions
Java-lang package
java-StringBuffer
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Object Oriented Programming (OOPs) Concept in Java
HashMap in Java with Examples
Interfaces in Java
Stream In Java
How to iterate any Map in Java
ArrayList in Java
Initialize an ArrayList in Java
Stack Class in Java
Multidimensional Arrays in Java
Singleton Class in Java