q)&E((-p)Ur)" 我想删除所有括号对之间的所有字符,并像这样存储在一个新字符串中:new_string = AX&E 我试过这样做: p-6ren">
gpt4 book ai didi

python字符串操作

转载 作者:太空狗 更新时间:2023-10-29 22:02:03 25 4
gpt4 key购买 nike

我有一个带有嵌套括号的字符串 s:s = "AX(p>q)&E((-p)Ur)"

我想删除所有括号对之间的所有字符,并像这样存储在一个新字符串中:new_string = AX&E

我试过这样做:

p = re.compile("\(.*?\)", re.DOTALL)
new_string = p.sub("", s)

它给出输出:AX&EUr)

有什么方法可以纠正这个问题,而不是迭代字符串中的每个元素?

最佳答案

另一个简单的选择是在每个阶段删除最里面的括号,直到没有更多的括号:

p = re.compile("\([^()]*\)")
count = 1
while count:
s, count = p.subn("", s)

工作示例:http://ideone.com/WicDK

关于python字符串操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5846818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com