如何在不使用Regex的Python3中删除不平衡括号之间的字符串?

时间:2019-05-30 12:43:44

标签: python-3.x

美好的一天!

我有一个类似esdfd((esdf)(esdf的字符串,如果括号没有关闭,我想删除括号和数据,应该这样-> esdfd((esdf)。另外,我不能使用正则表达式。

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试一下:

def remove_unbalance(s):
    last_open = s.rfind("(")
    last_close = s.rfind(")")
    return s[:last_open] if last_open > last_close else s

print(remove_unbalance("aaaa(bbbb)(ccccc"))
# aaaa(bbbb)

print(remove_unbalance("esdfd((esdf)(esdf"))
# esdfd((esdf)

print(remove_unbalance("aaaa((bbbb)(ccccc) ddd"))
# aaaa((bbbb)(ccccc) ddd