java如何去掉括号
去除字符串中的括号
使用 String.replaceAll() 方法配合正则表达式可以移除所有括号。正则表达式 "[()]" 匹配所有左括号 ( 和右括号 )。
String str = "示例(带括号)的字符串";
String result = str.replaceAll("[()]", "");
System.out.println(result); // 输出: 示例带括号的字符串
去除特定位置的括号
如果需要仅去除字符串开头或结尾的括号,可以使用条件判断结合 substring() 方法。
String str = "(开头)和结尾)";
if (str.startsWith("(")) {
str = str.substring(1);
}
if (str.endsWith(")")) {
str = str.substring(0, str.length() - 1);
}
System.out.println(str); // 输出: 开头)和结尾
处理嵌套括号
对于嵌套括号,可以通过循环或递归的方式逐层去除。以下代码演示了使用循环去除最外层括号。
String str = "((嵌套)括号)";
while (str.startsWith("(") && str.endsWith(")")) {
str = str.substring(1, str.length() - 1);
}
System.out.println(str); // 输出: 嵌套)括号
使用第三方库
Apache Commons Lang 库的 StringUtils 类提供了更灵活的字符串操作。通过 replaceChars() 方法可以快速去除括号。
import org.apache.commons.lang3.StringUtils;
String str = "使用(第三方库)的示例";
String result = StringUtils.replaceChars(str, "()", "");
System.out.println(result); // 输出: 使用第三方库的示例
性能优化建议
对于大量字符串处理,直接操作字符数组可能比正则表达式更高效。以下代码展示了通过字符数组过滤括号。

String str = "高性能(处理)示例";
char[] chars = str.toCharArray();
StringBuilder sb = new StringBuilder();
for (char c : chars) {
if (c != '(' && c != ')') {
sb.append(c);
}
}
System.out.println(sb.toString()); // 输出: 高性能处理示例






