java.lang.StringBuffer replace(int start,int end,String str)
Description :
This java tutorial shows how to use the replace(int start,int end,String str) method of StringBuffer class under java.lang package.
This method replaces the characters in a substring of this sequence with characters in the specified String. The substring begins at the specified start and extends to the character at index end – 1 or to the end of the sequence if no such character exists. First the characters in the substring are removed and then the specified String is inserted at start. Make a note that this sequence will be lengthened to accommodate the specified String if necessary.
Method Syntax :
public StringBuffer replace(int start,int end,String str)
Parameter Input :
DataType | Parameter | Description |
---|---|---|
int | start | the beginning index |
int | end | the ending index |
String | str | the String that will be replaced on the stringbuffer contents. |
Method Returns :
The replace() method of String class returns this StringBuffer object with its characters replaced by the str method argument.
Compatibility Version :
Requires Java 1.2 and up
Java Code Example :
This java example source code demonstrates the use of replace(int start,int end,String str) method of StringBuffer class. Initially the code assigns a string “javatutorialhq.com” as initial contents of the string buffer. Then we use replace method to replace the characters from index 2 to index 5 with string “VATUTO”. As you would have noticed the number of characters is greater that the number than the length of index 2 to 5. Remember the rule that this sequence will be lengthened to accommodate the specified String if necessary.
package com.javatutorialhq.java.examples; /* * This example source code demonstrates the use of * replace(int start,int end,String str) method of StringBuffer class */ public class StringBufferReplace { public static void main(String[] args) { // initialize the StringBuffer object StringBuffer sb = new StringBuffer("javatutorialhq.com"); System.out.println("Contents of buffer:" + sb); int start = 2; int end = 5; String str = "VATUTO"; // Replace the characters from index 2 to index 5 sb.replace(start, end, str); System.out.println("New Contents of Buffer:"+sb); } }
Sample Output :
Running the above example source code will give the following output
Exception Scenario :
StringIndexOutOfBoundsException
The above exception will be if the following condition has been met:
- if start is negative
- start is greater than the StringBuffer length
- start is greater than the end index