python 截取括号外字符串

2025年05月09日 03:09
有1个网友回答
网友(1):

维护一个栈

字符一个一个读进来:

    遇到"("压栈,

    遇到“)”弹栈,

    遇到其他字符:

        如果栈空,输出

        否则,不输出

def rm_bracket(s):
    st = []
    ret = []
    for x in s:
        if x == '(':
            st.append(x)
        elif x == ')':
            st.pop()
        else:
            if len(st) == 0:
                ret.append(x)
    return ''.join(ret)
if __name__ == '__main__':
    print rm_bracket('(adg)B')
    print rm_bracket('(g)B(a)')
    print rm_bracket('B(a(s(d)))B')