In this example, we are going to see how to use the String Replace and ReplaceAll String class API Methods in Java. With replaceAll
, you can replace all character sequences and single characters from a String
instance.
As you know, String
objects are immutable. This means, that every time you try to change its value, a new String
object is created, holding the new value. So replaceAll will create a new String object and return a reference pointing to it.

Let’s see some examples on Java String Replace and ReplaceAll String Methods.
1. Replacing single characters
Here is how you can replace all instances of a single character inside a String
.
public class StringReplaceAllExample { public static void main(String[] args) { String str = "This is a String to use as an example to present raplaceAll"; // replace all occurrences of 'a' with '@' String newStr = str.replaceAll("a", "@"); System.out.println(newStr); // replace all occurrences of 'e' with '3' newStr = newStr.replaceAll("e", "3"); System.out.println(newStr); // replace all occurrences of 't' with 'T' newStr = newStr.replaceAll("t", "T"); System.out.println(newStr); // remove all occurrences of 'o' newStr = newStr.replaceAll("o", ""); System.out.println(newStr); // replace all occurrences of 't' with 'That' newStr = newStr.replaceAll("T", "That"); System.out.println(newStr); } }
This will output:
This is @ String to use @s @n ex@mple to present r@pl@ceAll This is @ String to us3 @s @n 3x@mpl3 to pr3s3nt r@pl@c3All This is @ STring To us3 @s @n 3x@mpl3 To pr3s3nT r@pl@c3All This is @ STring T us3 @s @n 3x@mpl3 T pr3s3nT r@pl@c3All Thathis is @ SThatring That us3 @s @n 3x@mpl3 That pr3s3nThat r@pl@c3All
As you can see from the above example, replacement is a case sensitive operation, For example, when we replaced all occurrences of ‘a’, we didn’t replace ‘A’ in the original String
. Additionally, you can use replaceAll
to completely remove a character from the String
by replacing it with ""
. It’s also worth noting that if no occurrences of the targeted character are found, as a result replaceAll
will return the exact same String
, no new String
gets created.
The difference between replace and replaceAll is that the replace method either takes a pair of char or a pair CharSequence’s . The replace method will replace all occurrences of a char or CharSequence’s . Using the wrong function can lead to subtle bugs.
Here we can see a replace method example.
public class Replace { public static void main(String[] args) { String Str = new String("The dog plays with the ball."); System.out.println(Str.replace('a', 'T')); } }
The output is:
The dog plTys with the bTll.
2. Replacing char sequences character
Here is how you can replace all char sequences inside a String
with another char sequence or with a single character.
public class StringReplaceAllExample { public static void main(String[] args) { String str = "This is a String to use as an example to present raplaceAll"; // replace all occurrences of 'This' with 'That' String newStr = str.replaceAll("This", "That"); System.out.println(newStr); // replace all occurrences of 'String' with 'big String' newStr = str.replaceAll("String", "big String"); System.out.println(newStr); // remove all occurrences of 'is' newStr = str.replaceAll("is", ""); System.out.println(newStr); // remove all occurrences of 'replaceAll' newStr = str.replaceAll("raplaceAll", ""); System.out.println(newStr); } }
This will output:
That is a String to use as an example to present raplaceAll This is a big String to use as an example to present raplaceAll Th a String to use as an example to present raplaceAll This is a String to use as an example to present
3. Using regular expressions
This is a great feature of replaceAll
. You can use a regular expression to replace all occurrences of matching char sequences inside a String
.
public class StringReplaceAllExample { public static void main(String[] args) { String str = "This 1231 is 124 a String 1243 to 34563 use 5455"; // remove all numbers String newStr = str.replaceAll("[0-9]+", ""); System.out.println(newStr); // remove all words with 'Java' newStr = str.replaceAll("[a-zA-Z]+", "Java"); System.out.println(newStr); } }
This will output:
This is a String to use Java 1231 Java 124 Java Java 1243 Java 34563 Java 5455
Another example is:
public class ReplaceAllex { public static void main(String[] args) { String s="That is a String to use as an example to present raplaceAll" ; System.out.println(s); String str = s.replaceAll(" {2,}", " "); System.out.println(str); } }
The output is:
That is a String to use as an example to present raplaceAll That is a String to use as an example to present raplaceAll
The last example:
public class ReplaceAllDollar { public static void main(String[] args) { String s="The difference between dollars and euros is 0.09 dollars."; System.out.println(s); String str = s.replaceAll("dollars", "\\$"); System.out.println(str); } }
The output is:
The difference between dollars and euros is 0.09 dollars. The difference between $ and euros is 0.09 $.
4. Download the Source Code
You can download the full source code of this example here: Java String Replace and ReplaceAll String Methods
Last updated on May 12th, 2020
I want to replace Name with name in the Text but if i use replace method it is replacing LastName also with Lastname. But i want only Name only should be replaced.