StringBuffer delete() Method in Java with Examples (original) (raw)

Last Updated : 02 Feb, 2022

The java.lang.StringBuffer.delete() is an inbuilt method in Java which is used to remove or delete the characters in a substring of this sequence. The substring starts at a specified index start_point and extends to the character at the index end_point.

Syntax :

public StringBuffer delete(int startpoint, int endpoint)

Parameters : The method accepts two parameters of integer type:
start_point – This refers to the beginning index and is included in the count.
end_point – This refer to the ending index and is excluded from the count.

Return Value : The method returns the string after deleting the substring formed by the range mentioned in the parameters.

Exceptions : StringIndexOutOfBoundsException occurs if the start_point is negative, greater than length(), or greater than the end_point.

Examples :

Input: String = "Apple" start_point = 2 end_point = 4

Output: Ape

Input: String = "GeeksforGeeks" start_point = 2 end_point = 7

Output: GerGeeks

Below programs illustrate the java.lang.StringBuffer.delete() method:
Program 1:

java

import java.lang.*;

public class geeks {

`` public static void main(String[] args)

`` {

`` StringBuffer sbf = new StringBuffer( "Geeksforgeeks" );

`` System.out.println( "string buffer = " + sbf);

`` sbf.delete( 6 , 8 );

`` System.out.println( "After deletion string buffer is = " + sbf);

`` }

}

Output:

string buffer = Geeksforgeeks After deletion string buffer is = Geeksfgeeks

Program 2:

java

import java.lang.*;

public class geeks {

`` public static void main(String[] args)

`` {

`` StringBuffer sbf = new StringBuffer( "Welcome to Geeksforgeeks" );

`` System.out.println( "string buffer = " + sbf);

`` sbf.delete( 5 , 9 );

`` System.out.println( "After deletion string buffer is = " + sbf);

`` }

}

Output:

string buffer = Welcome to Geeksforgeeks After deletion string buffer is = Welcoo Geeksforgeeks

Program 3: Here the index is negative.

java

import java.lang.*;

public class geeks {

`` public static void main(String[] args)

`` {

`` StringBuffer sbf = new StringBuffer( "Welcome to Geeksforgeeks" );

`` System.out.println( "string buffer = " + sbf);

`` sbf.delete(- 5 , 9 );

`` System.out.println( "After deletion string buffer is = " + sbf);

`` }

}

Output:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -5 at java.lang.AbstractStringBuilder.delete(AbstractStringBuilder.java:756) at java.lang.StringBuffer.delete(StringBuffer.java:430) at geeks.main(geeks.java:13)

Program 4: Here the index is not present.

java

import java.lang.*;

public class geeks {

`` public static void main(String[] args)

`` {

`` StringBuffer sbf = new StringBuffer( "Welcome to Geeksforgeeks" );

`` System.out.println( "string buffer = " + sbf);

`` sbf.delete( 99 , 109 );

`` System.out.println( "After deletion string buffer is = " + sbf);

`` }

}

Output:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException at java.lang.AbstractStringBuilder.delete(AbstractStringBuilder.java:760) at java.lang.StringBuffer.delete(StringBuffer.java:430) at geeks.main(geeks.java:13)