Java String replaceAll() Method with Examples
Get Job-ready: Java Course with 45+ Real-time Projects! - Learn Java
The replaceAll() method in Java’s String class is a helpful tool for changing parts of a text. In this article, we’ll take a closer look at how to use this method with simple examples. It’s a useful method for modifying text.
The Java replaceAll() method works by looking for a specific pattern (a regular expression or regex) in the text and replacing it with something else. We’ll show you the basic structure of how it’s used and then give you some practical examples to make it clear.
Whether you’re a Java developer or just someone interested in learning, this article will make it easy for you to understand how replaceAll() can be a valuable tool for text manipulation in Java.
Some key points about Java replaceAll()
- It replaces all occurrences of the matched regex, not just the first match.
- The replacement string can contain capturing groups from the regex to insert partial matches.
- It returns a new string with replacements, not modifying the original.
Syntax and Parameters of Java replaceAll()
The basic syntax of using Java replaceAll() is:
String replaced = original.replaceAll(regex, replacement);
Where:
- original – The original string
- regex – The regular expr. to match
- replacement – The string to replace matches
The method returns a new string with all matches of the regex replaced.
Example of Java replaceAll()
public class StringReplaceExample {
public static void main(String[] args) {
String str = "Hello World";
String result = str.replaceAll("l", "w");
System.out.println(result);
}
}Output:
Hewwo Wod
The regular expression “l” matches all occurrences of the letter ‘l’, which are then replaced with “w”.
Capturing Groups Example
public class StringReplaceExample {
public static void main(String[] args) {
String str = "Hello World";
str = str.replaceAll("(\\w+) (\\w+)", "$2, $1");
System.out.println(str);
}
}Output:
World, Hello
Common Exceptions
Two common exceptions may occur when using the replaceAll() method incorrectly:
PatternSyntaxException in Java
This exception is thrown when the regular expression passed to replaceAll() is invalid. The Java regular expression engine will fail to compile the invalid regex pattern, resulting in a PatternSyntaxException being thrown.
Example of
PatternSyntaxException in Java:
public class StringReplaceExample {
public static void main(String[] args) {
String str = "Hello";
String regex = "[a-z"; // Missing closing ] makes this an invalid regex
try {
str = str.replaceAll(regex, "X");
} catch (java.util.regex.PatternSyntaxException e) {
System.out.println("PatternSyntaxException: " + e.getMessage());
}
}
}Output:
PatternSyntaxException: Unclosed character class near index 4
[a-z
^
Some common causes of invalid regex patterns include:
- Unescaped special characters
- Unclosed character classes and groups
- Quantifiers applied to invalid tokens
- Invalid repetition syntax
- Incorrect escaping of reserved characters
NullPointerException in Java
This exception occurs when a null value is passed as the regular expression parameter to replaceAll().
Example of NullPointerException in Java:
public class StringReplaceExample {
public static void main(String[] args) {
String str = "World";
try {
str = str.replaceAll(null, "X"); // Passing null regex causes NullPointerException
} catch (NullPointerException e) {
System.out.println("NullPointerException: " + e.getMessage());
}
}
}Output:
NullPointerException: Regular expression is null
The replaceAll() method expects a valid, non-null regex pattern. Passing null will result in a NullPointerException being thrown.
This is because replaceAll() attempts to access methods on the regex object to perform the replacements. When null is passed instead of a Regex object, it results in a null pointer dereference.
To avoid this, always pass a properly initialized regular expression string or Regex object to replaceAll().
Advantages of replaceAll() in Java
- This method performs better in replacing the regex pattern.
- The replaceAll() method is preferred over the replace method for operating on complex data.
- It works on all the occurrences at one time, calling.
Disadvantages of replaceAll() in Java
- It consumes a large amount of memory when used for complex data.
- replaceAll() has slower execution.
Conclusion
In conclusion, the replaceAll() method in Java’s String class is a powerful tool for replacing specified substrings in a string using regular expressions.
Key points to remember include its ability to replace all occurrences of a matched regex, support for capturing groups for partial matches, and the creation of a new string with replacements while leaving the original unchanged.
It is important to handle common exceptions such as PatternSyntaxException, which occurs when an invalid regex is used, and NullPointerException, which arises when a null value is passed as the regular expression. To ensure smooth usage, always provide a valid and non-null regex pattern.
Did we exceed your expectations?
If Yes, share your valuable feedback on Google

