How to replace all "(" and ")" in a string with a fullstop, in Java? I tried in the following way:
String url = "https://bitbucket.org/neeraj_r/url-shortner)";
url.replaceAll(")", ".");
url.replaceAll(")", ".");
But it does not work. The error is:
Exception in thread "main" java.util.regex.PatternSyntaxException: Unmatched closing
')'
)
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.lang.String.replaceAll(Unknown Source)
at com.azzist.cvConversion.server.URLChecker.main(URLChecker.java:32)
I think this problem will be there in all regex too. Adding \ before ) did not work.
You can use replaceAll in one go:
url.replaceAll("[()]", ".")
Explanation:
[()] matches both ( and ), the brackets don't need to be escaped inside the [] group.EDIT (as pointed out by @Keppil):
Note also, the String url is not changed by the replace, it merely returns a new String with the replacements, so you'd have to do:
url = url.replaceAll("[()]", ".");
You need to escape '(' and ')' with "\\(" and "\\)" respectively:
url = url.replaceAll("\\)", ".");
url = url.replaceAll("\\(", ".")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With