首页 > 其他 > 详细

字符串过滤最后的括号及其内容

时间:2020-12-18 19:16:39      阅读:53      评论:0      收藏:0      [点我收藏+]

将字符串中最后一个括号以及其中的内容去掉,其中的不受影响. 若有其他的自定义规则也可以参考.

 

    /**
     * 
     * 方法描述:将字符串中最后的括号及其中内容去掉.字符串中间的括号内容不受影响.
     * @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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!