I have a string:
HLN (Formerly Headline News)
I want to remove everything inside the parens and the parens themselves, leaving only:
<You could use the following regular expression to find parentheticals:
\([^)]*\)
the \(
matches on a left parenthesis, the [^)]*
matches any number of characters other than the right parenthesis, and the \)
matches on a right parenthesis.
If you're including this in a java string, you must escape the \
characters like the following:
String regex = "\\([^)]*\\)";
String foo = "(x)()foo(x)()";
String cleanFoo = foo.replaceAll("\\([^\\(]*\\)", "");
// cleanFoo value will be "foo"
The above removes empty and non-empty parenthesis from either side of the string.
plain regex:
\([^\(]*\)
You can test here: http://www.regexplanet.com/simple/index.html
My code is based on previous answers
Because parentheses are special characters in regexps you need to escape them to match them explicitly.
For example:
"\\(.+?\\)"
String foo = "bar (baz)";
String boz = foo.replaceAll("\\(.+\\)", ""); // or replaceFirst
boz
is now "bar "