In my program when I\'m using
line.replaceAll(\"(\", \"_\");
I got a RuntimeException
:
at java.util.regex.Pattern
The first argument to string.replaceAll
is a regular expression, not just a string. The opening left bracket is a special character in a regex, so you must escape it:
line.replaceAll("\\(", "_");
Alternatively, since you are replacing a single character, you could use string.replace
like so:
line.replace('(', '_');
The error message above the stack trace is (somewhat) helpful:
Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed group near index 1 ( ^
(That's what I get in Java 6.) It mentions "regex", "group", and the parenthesis. If you can't see this message, you should check how you're logging/catching/displaying exceptions. It could save you some trouble in the future.