substring() StringBuffer Example

java.lang.StringBuffer class comes with many methods to manipulate string. One of the methods is overloaded substring() method used to extract part of the characters present in the buffer.

What Java API says about substring() StringBuffer:
  • public synchronized java.lang.String substring(int index1): Returns a string with the characteres of StringBuffer starting from index number index1 to the end. Throws StringIndexOutOfBoundsException if the argument is more than buffer size or less than 0.
  • public synchronized java.lang.String substring(int startIndex, int endIndex): Returns a string with the characters of StringBuffer starting from index number startIndex and ending with endIndex-1. Throws StringIndexOutOfBoundsException if the argument is more than buffer size or less than 0 or endIndex < startIndex.

Following substring() StringBuffer example illustrates the usage of this overloaded method in all possible ways.

public class Demo
{
  public static void main(String args[])
  {						
   StringBuffer sb1 = new StringBuffer("ABCDEFGHI");
   System.out.println("Original string buffer contents: " + sb1);
			                    // using substring(int)
   String str1 = sb1.substring(5);          // returns from 5th character
   System.out.println("sb1.substring(5): " + str1);			
   				            // using substring(int, int)
   str1 = sb1.substring(3, 7);              // returns 3, 4, 5 and 6th character
   System.out.println("sb1.substring(3, 7): " + str1);	
					    //  to extract mail server name
   StringBuffer sb2 = new StringBuffer("www.yahoo.com");
   int firstDot = sb2.indexOf(".");
   int lastDot = sb2.lastIndexOf(".");
   str1 = sb2.substring(firstDot+1, lastDot);
   System.out.println("Your server name: " + str1);
 }
}


substring() StringBuffer
Output screen on substring() StringBuffer first Example

Here delimiter is ' .'

str1 = sb2.substring(firstDot+1, lastDot);

Plus 1 for firstDot is to avoid the first dot in the output. lastDot goes anyhow one back.

Another example to swap letters. To swap the buffer contents and return as a buffer. To print CDAB for ABCD.

public class Demo
{
  public static void main(String args[])
  {						
   StringBuffer sb1 = new StringBuffer("ABCD");
   System.out.println("buffer contents before swapping: " + sb1);
			                             
   String str1 = sb1.substring(0, 2);      // extract first two characters
   String str2 = sb1.substring(2);         // extract last two characters
   
   sb1 = new StringBuffer(str2+str1);
   System.out.println("buffer contents after swapping: " + sb1);
 }
}


ima1
Output screenhot on substring() StringBuffer second Example

Leave a Comment

Your email address will not be published.