Difference between replace() and replaceAll() in java

In this post, we will see difference between String’s replace() and replaceAll() methods in java.

String’s replace() and replaceAll() both replace all occurences in the String.

String’s replace() takes either two chars or two CharSequences as arguments and it will replace all occurrences of char or String but replaceAll() method takes regex String as argument and replaces each substring of that matches given regex with replacement string. If you use wrong method, then it can introduce bug in the code. That’s why it is good to know difference between replace() and replaceAll() methods in java.

Let’s understand replace() and replaceAll() with the help of examples.

replace()

You should use replace if you want to replace one char with another or one String with another.

replace char with another char using replace()

Here is an example to replace one char with another using replace() method. Here we will use replace() method to replace char ‘p’ with char ‘b’

Output:

abble

As you can see, char ‘p’ got replaced with ‘b’ in the output.

replace String with another String using replace()

Here is an example to replace one String with another String using replace() method. Here we will use replace() method to replace String "java" with "Python"

Output:

Python C C++ Python

As you can see, String "Java" got replace with "Python" in the output.

replaceAll()

You should use String’s replaceAll() method if you want to use regular expressions.

replace any number with char

Here is example to replace any number with char using replaceAll() method. Here we will use regular expression to replace any number to char ‘a’

Output:

aaaaaa___

As you can see, all the numbers got replaced with char 'a' in the output.

remove all whitespace in the String

You can use replaceAll() method to remove all whitespaces in the String by passing required regular expression to it.

Here is an example:

Output:

JavaisProgramminglanguage

As you can see, String’s whicespaces got replaced with "" in the output.

That’s all about difference between replace and replaceAll methods in java.

Was this post helpful?

Leave a Reply

Your email address will not be published. Required fields are marked *