Popular Tutorials
Start Learning JavaCertification Courses
Created with over a decade of experience and thousands of feedback.
Java String replaceAll()
In this tutorial, we will learn about the Java String replaceAll() method with the help of examples.
The replaceAll() method replaces each substring that matches the regex of the string with the specified text.
Example
class Main {
public static void main(String[] args) {
String str1 = "Java123is456fun";
// regex for sequence of digits
String regex = "\\d+";
// replace all occurrences of numeric
// digits by a space
System.out.println(str1.replaceAll(regex, " "));
}
}
// Output: Java is fun
Syntax of replaceAll()
The syntax of the replaceAll() method is:
string.replaceAll(String regex, String replacement)
Here, string is an object of the String class.
replaceAll() Parameters
The replaceAll() method takes two parameters.
- regex - a regex (can be a typical string) that is to be replaced
- replacement - matching substrings are replaced with this string
replaceAll() Return Value
The replaceAll() method
- returns a new string where each occurrence of the matching substring is replaced with the replacement string.
Example 1: Java String replaceAll()
class Main {
public static void main(String[] args) {
String str1 = "aabbaaac";
String str2 = "Learn223Java55@";
// regex for sequence of digits
String regex = "\\d+";
// all occurrences of "aa" is replaceAll with "zz"
System.out.println(str1.replaceAll("aa", "zz")); // zzbbzzac
// replace a digit or sequence of digits with a whitespace
System.out.println(str2.replaceAll(regex, " ")); // Learn Java @
}
}
In the above example, "\\d+" is a regular expression that matches one or more digits.
Escaping Characters in replaceAll()
The replaceAll() method can take a regex or a typical string as the first argument. It is because a typical string in itself is a regex.
In regex, there are characters that have special meaning. These metacharacters are:
\ ^ $ . | ? * + {} [] ()
If you need to match substring containing these metacharacters, you can either escape these characters using \ or use the replace() method.
// Program to replace the + character
class Main {
public static void main(String[] args) {
String str1 = "+a-+b";
// replace "+" with "#" using replaceAll()
// need to escape "+"
System.out.println(str1.replaceAll("\\+", "#")); // #a-#b
// replace "+" with "#" using replace()
System.out.println(str1.replace("+", "#")); // #a-#b
}
}
As you can see, when we use the replace() method, we do not need to escape metacharacters. To learn more, visit: Java String replace().
If you need to replace only the first occurrence of the matching substring, use the Java String replaceFirst() method.