Removing a particular character or multiple characters from a string is useful to get rid of garbage data. Moreover, this approach helps decode the encoded information in the code and assists in formatting the data efficiently. This formatting can be done by removing the start and end spaces, removing unused substrings, or correcting the spellings of strings.

Removing/Deleting Characters From a String

A character can be removed from a string in Java using the below-stated approaches:

  • substring()” Method.
  • replace()” Method.
  • StringBuilder “deleteCharAt()” Method.
  • StringBuffer “delete()” Method.

Approach 1: Remove Character From String Using “substring()” Method

This method removes the character or substring from the string based on the given index or returns the characters according to the specified indexes as intervals.

Syntax

public String substring(int startInd, int endInd);
  •  “startInd” indicates the starting index(inclusive) in the string.
  • endInd” is the ending index(exclusive) in the string.

Return Value: Targeted substring.

Now, move on to applying this method to remove a specific character from a string directly or based on the specified index as an interval:

package jbArticles;
public class Removechar {
public static void main(String[] args) {
  String st1 = "David Warner";
  String st2 = "Harry Brook" ;
  System.out.println("Given First String -> " + st1);   System.out.println("Given Second String -> " + st2);
  String remChar1 = st1.substring(1);
  System.out.println("After removing a character from string -> " + remChar1);
  String remChar2 = st2.substring(0,4) + st2.substring(5,11);
  System.out.println("After removing a character from string -> " + remChar2)
}
}

Code Explanation

  • Initialize the given strings and display them.
  • Now, apply the “substring()” method to remove the first character from the first string by referring to the character’s index.
  • After that, use the method again twice such that the characters at the given index intervals are added and returned from the second string.

Output

The first character from the first string and the specified characters from the second string are returned appropriately.

Approach 2: Remove Character From String Using the “replace()” Method

The “replace()” method locates the string for a particular character and gives a new string by replacing the particular character.

Syntax

public String replace(char locChar, char newChar)
  • locChar” denotes the character to be replaced/substituted by the “newChar”.
  • newChar” replaces the “locChar”.

Return Value

A new string with the replaced characters.

The below code replaces the target character with an empty string:

package jbArticles;
public class Removechar {
public static void main(String[] args) {
  String st = "David Warner";
  System.out.println("Given String -> " + st);
  String remChar = st.replace("i", "");
  System.out.println("After removing a character from string -> " + remChar);
}
}

Code Explanation

Initialize the string and print it. After that, apply the “replace()” method to change the specified character with an empty string, thereby eliminating the character from the string.

Output

Here, it can be seen that the particular character i.e., “i” is removed from the string.

Approach 3: Removing Character From String via the StringBuilder “deleteCharAt()” 

It belongs to the “StringBuilder” class and is used to remove/delete the character at the specified index in a string.

Syntax

public StringBuilder deleteCharAt(int ind)

Here, “ind” refers to the character’s index to remove.

Return Value

A substring of the sequence.

The below example code uses this method to remove the character at the specific index:

package jbArticles;
public class Removechar {
public static void main(String[] args) {   String st = "David Warner";
  System.out.println("Given String -> " + st);
  StringBuilder remChar = new StringBuilder(st);
  remChar.deleteCharAt(2);
  System.out.println("After removing a character from string -> " + remChar);
}
}

Code Explanation

  • Recall the steps for defining and returning the string.
  • Create a StringBuilder instance having the initialized string as its constructor’s argument.
  • Now, use the “deleteCharAt()” method to delete the character at index “2” in the string.

Output

Approach 4: Remove Character From String Using the StringBuffer “delete()” Method

The StringBuffer “delete()” method removes the substring from the starting index till the element before the specified last index.

Syntax

public StringBuffer delete(int start, int last)

Syntax Explanation

  • start” is the starting index(inclusive) in the string.
  • last” is the last index(exclusive) in the string.

Return Value

A substring of specified sequence.

The following code snippet removes the character using the StringBuffer instance and its “delete()” method by specifying the string index values as an interval:

package jbArticles;
public class Removechar {
public static void main(String[] args) {
  String st = "David Warner";
  System.out.println("Given String -> "+st);
  StringBuffer sb = new StringBuffer(st);
  sb.delete(1, 2);
  System.out.println("After removing a character from string -> " + sb);
}
}

Code Explanation

After initializing the string, create a “StringBuffer” instance having the string as its argument. Moving forward, use the “delete()” method such that the character at the second index(1) i.e., “a” is removed from the string.

Output

The second character is removed appropriately from the string based on the specified interval.

How to Eliminate Several Characters From a String?

Multiple characters can also be removed from a string using the “substring()” method by modifying the index interval in the string:

package jbArticles;
public class Removechar {
public static void main(String[] args) {
  String st1 = "David Warner";
  System.out.println("Given String -> " + st1);
  String remChar1 = st1.substring(0,3) + st1.substring(5,12);
  System.out.println("After removing a character from string -> " + remChar1); }
}

Code Explanation

Here, concatenate the “substring()” method twice such that the characters at the indexes “3” and “4” are removed from the string.

Note: The character at the specified last index “3” is not returned since it is exclusive as discussed in the method’s syntax.

Output

In this outcome, it can be seen that the characters “i” and “d” are removed accordingly.

How to Eliminate White Spaces From a String?

The “replace()” method can be used to remove whitespaces from within the string as well as the leading and trailing spaces:

package jbArticles;
public class Removechar {
public static void main(String[] args) {
  String st = " David Warner ";
  System.out.println("Given String -> " + st);
  String remChar = st.replace(" ", "");
  System.out.println("After removing a character from string -> " + remChar);
}
}

Code Explanation

  • Initialize a string having the leading and trailing whitespaces as well as spaces between the substrings. 
  • After that, apply the “replace()” method to replace the whitespaces represented as the method’s first argument with an empty string (specified as the second argument). 
  • This removes all the contained whitespaces from the string.

Output

As seen, all the whitespaces are removed from the string successfully.

How to Eliminate/Delete Only the Upper or LowerCase Characters From a String?

To remove only the lower- or upper-case characters from the string, use the regular expression i.e., regex pattern “([a-z])” or “([A-Z])“, respectively.

package jbArticles;
public class Removechar {
public static void main(String[] args) {
  String st = " David Warner ";
  System.out.println("Given String -> " + st);
  String remChar = st.replaceAll("([a-z])", "");
  System.out.println("After removing characters from string -> " + remChar);  }
}

Code Explanation

Here, the “replaceAll()” method is applied with the discussed regular expression to search for the lowercase alphabets in the string and remove them.

Output

Likewise, to remove only the uppercase characters from the string, modify the above code with the below-applied regex:

How to Remove the First and Last Characters From a String in Java?

If there is a requirement to remove only the first and last characters from a string or a substring, use the “substring()” method, as demonstrated:

package jbArticles;
public class Removechar {
public static void main(String[] args) {
  String st = "David Warner";
  System.out.println("Given String -> " + st);
  String remChar1 = st.substring(1);
  System.out.println("After removing the first character from string -> " + remChar1);
  String remChar2 = st.substring(0, st.length()-1);
  System.out.println("After removing the last character from string -> " + remChar2);
}
}

Code Explanation

  • Apply the “substring()” method and point to the first index of the string to remove the first string character.
  • Use the method again to return all the characters except the last one, thereby removing the last string character. This is achieved by returning the string’s length via the “length()” method and subtracting “1” i.e., the last character from it.

Output

How to Eliminate/Delete a Substring From a String in Java?

To remove/delete a substring from a string, the “replaceFirst()” or the “replace()” methods can be used.

Below is the code demonstration of the “replaceFirst()” method:

package jbArticles;
public class Removechar {
public static void main(String[] args) {
  String st1 = "David David Warner";
  System.out.println("Given String -> " + st1);
  String remChar1 = st1.replaceFirst("David", "");
  System.out.println("After removing a substring from string -> "+remChar1);
}
}

Code Explanation

Initialize a string having a duplicate substring and display it, after that, apply the “replaceFirst()” method to change the first occurrence of the provided substring with a blank string.

Output

The first matching substring is removed appropriately from the string.

However, to remove all the same substrings from a string at once, use the “replace()” method instead, as demonstrated below:

The specified substring is searched in the string and all occurrences are removed.

Conclusion

A character can be removed/deleted from a string by implementing the “substring()”, “replace()”, StringBuilder “deleteCharAt()”, or the StringBuffer “delete()” methods. However, the user can also choose to remove the first or last character, whitespaces, or a substring from the string by modifying the “substring()” and “replace()” methods.

Frequently Asked Questions

How to remove a specific character from a string in Java using the substring method?

You can remove a character from a string in Java using the substring method by providing the starting index of the character to be removed. The method returns the substring excluding the specified character.

What is the syntax for the substring method in Java for removing characters from a string?

The syntax for the substring method in Java to remove characters from a string is public String substring(int startInd, int endInd). Here, startInd indicates the starting index of the character to be removed, and endInd is the ending index.

How can I delete a character from a string in Java using the replace method?

In Java, you can delete a character from a string by using the replace method and replacing the specific character with an empty string. This effectively removes the targeted character from the original string.

What is the StringBuilder method to remove characters from a string in Java?

To remove characters from a string in Java using StringBuilder, you can utilize the deleteCharAt method. This method allows you to specify the index of the character to be removed from the StringBuilder object.

How does the StringBuffer delete method help in deleting characters from a string in Java?

The StringBuffer delete method in Java enables you to delete characters from a string by specifying the range of indices representing the characters to be removed. This method efficiently removes the specified characters from the StringBuffer object.

Can I remove multiple characters from a string in Java using the substring method?

Yes, you can remove multiple characters from a string in Java using the substring method by providing the start and end indices that represent the range of characters to be removed. This method allows for selective removal of characters from the string.

How can I efficiently format data by removing unused substrings in Java?

In Java, you can efficiently format data by removing unused substrings using methods like substring() and replace(). These methods enable you to eliminate unnecessary parts of the string, ensuring cleaner and more organized data.

What are some common applications of removing characters from a string in Java?

Common applications of removing characters from a string in Java include data cleaning, decoding encoded information, and correcting spelling errors. This process is essential for improving data quality and readability in various programming scenarios.