Exceptions with String.replaceAll Java
Although the String replaceAll method is very effective in Java but even it comes up with certain exceptions as mentioned below:
1. Invalid regex
Invalid regex when passed in raplaceAll() method, raises PatternSyntaxException.
Example:
Java
// Java Program to demonstrate // replaceAll() method import java.io.*; // Driver class class GFG { // main function public static void main(String[] args) { // input string String str = "GFG" ; System.out.println(str); // NULL Regular expression String regex = "\\" ; // Passing null expression in // replaceAll method str = str.replaceAll(regex, " " ); System.out.println(str); } } |
Output
Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 at java.base/java.util.regex.Pattern.error(Pattern.java:2027) at java.base/java.util.regex.Pattern.compile(Pattern.java:1788) at java.base/java.util.regex.Pattern.<init>(Pattern.java:1428) at java.base/java.util.regex.Pattern.compile(Pattern.java:1068) at java.base/java.lang.String.replaceAll(String.java:2126) at GFG.main(GFG.java:11)
2. Null regular expression
The null regular expression is not accepted by the replaceAll() method, it raises the NullPointerException.
Example:
Java
// Java Program to demonstrate // replaceAll() method import java.io.*; // Driver class class GFG { // main function public static void main(String[] args) { // input string String str = "GFG" ; System.out.println(str); // NULL Regular expression String regex = null ; // Passing null expression in // replaceAll method str = str.replaceAll(regex, " " ); System.out.println(str); } } |
Output
Exception in thread "main" java.lang.NullPointerException at java.base/java.util.regex.Pattern.<init>(Pattern.java:1426) at java.base/java.util.regex.Pattern.compile(Pattern.java:1068) at java.base/java.lang.String.replaceAll(String.java:2126) at GFG.main(GFG.java:11)
Java String replaceAll() Method
The String replaceAll method in Java searches for a specified string or a specified value, or a regex expression by virtue of which has the same suggests returns a new string with related characters. Let us learn about Java replaceAll string method in this article.