Java StringBuilderdelete Examples

In this tutorial, we will learn about the Java StringBuilder.delete() function, and learn how to use this function to remove characters in specific index range, with the help of examples.

deleteint start, int end

StringBuilder.delete() removes the characters in a substring of this sequence and returns reference to this StringBuilder object.

Syntax

The syntax of delete() function is

delete(int start, int end)

where

Parameter Description
start The beginning index, of the substring to delete. This position is inclusive for delete operation.
end The ending index, of the substring to delete. This position is exclusive for delete operation.

Returns

The function returns the reference to this StringBuilder object.

Example 1 deletestart, end

In this example, we will initialize a StringBuilder object with a string literal, delete a substring that starts at index 4 and spans until index 8.

Java Program

public class Example { 
    public static void main(String[] args) { 
        StringBuilder stringBuilder = new StringBuilder("abcdefghijklmn");
        System.out.println("Before delete : " + stringBuilder.toString());
        
        int start = 4;
        int end = 8;
        stringBuilder.delete(start, end);
        System.out.println("After delete  : " + stringBuilder.toString());
    }
}

Output

Before delete : abcdefghijklmn
After delete  : abcdijklmn

The substring efgh is deleted from the sequence.

Example 2 deletestart, end start end

In this example, we will give the value for start such that it is greater than end. This should make delete() throw java.lang.StringIndexOutOfBoundsException.

Java Program

public class Example { 
    public static void main(String[] args) { 
        StringBuilder stringBuilder = new StringBuilder("abcdefghijklmn");
        System.out.println("Before delete : " + stringBuilder.toString());
        
        int start = 8;
        int end = 5;
        stringBuilder.delete(start, end);
        System.out.println("After delete  : " + stringBuilder.toString());
    }
}

Output

Before delete : abcdefghijklmn
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: start 8, end 5, length 14
	at java.base/java.lang.AbstractStringBuilder.checkRangeSIOOBE(Unknown Source)
	at java.base/java.lang.AbstractStringBuilder.delete(Unknown Source)
	at java.base/java.lang.StringBuilder.delete(Unknown Source)
	at Example.main(Example.java:8)

Example 3 deletestart, end end length

In this example, we will give the value of end greater than length of sequence. Since end > sequence length, delete() will delete the substring that begins at start index till the end of sequence.

Java Program

public class Example { 
    public static void main(String[] args) { 
        StringBuilder stringBuilder = new StringBuilder("abcdefghijklmn");
        System.out.println("Before delete : " + stringBuilder.toString());
        
        int start = 5;
        int end = 75;
        stringBuilder.delete(start, end);
        System.out.println("After delete  : " + stringBuilder.toString());
    }
}

Output

Before delete : abcdefghijklmn
After delete  : abcde

Example 4 deletestart, end start 0

In this example, we will give the value of start less than zero. This should make delete() throw java.lang.StringIndexOutOfBoundsException.

Java Program

public class Example { 
    public static void main(String[] args) { 
        StringBuilder stringBuilder = new StringBuilder("abcdefghijklmn");
        System.out.println("Before delete : " + stringBuilder.toString());
        
        int start = -5;
        int end = 5;
        stringBuilder.delete(start, end);
        System.out.println("After delete  : " + stringBuilder.toString());
    }
}

Output

Before delete : abcdefghijklmn
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: start -5, end 5, length 14
	at java.base/java.lang.AbstractStringBuilder.checkRangeSIOOBE(Unknown Source)
	at java.base/java.lang.AbstractStringBuilder.delete(Unknown Source)
	at java.base/java.lang.StringBuilder.delete(Unknown Source)
	at Example.main(Example.java:8)

Conclusion

In this Java Tutorial, we have learnt the syntax of Java StringBuilder.delete() function, and also learnt how to use this function with the help of examples.