将字符串中最后一个括号以及其中的内容去掉,其中的不受影响. 若有其他的自定义规则也可以参考.
/** * * 方法描述:将字符串中最后的括号及其中内容去掉.字符串中间的括号内容不受影响. * @Title: replaceBrackets * @param name * @return */ public String replaceBrackets(String name){ // 先将括号格式化 都格式化为英文 name = name.replaceAll("(", "("); name = name.replaceAll(")", ")"); // 判断是否是最后一个括号为空 if(name.lastIndexOf(")") + 1 == name.length()){ // 最后一个括号所在 int head = name.lastIndexOf(‘)‘); // 最后一个括号前 int next = head - 1; // 括号数 int count = 1; do { if (name.charAt(next) == ‘)‘) { count++; } else if (name.charAt(next) == ‘(‘) { count--; } next--; if (count == 0) { String temp = name.substring(next+1, head+1); name = name.replace(temp, ""); head = name.lastIndexOf(‘)‘); next = head - 1; count = 1; } } while (head != -1 && name.lastIndexOf(")")+ 1 == name.length()); } return name; }
原文:https://www.cnblogs.com/panyanbo/p/14156124.html