在Python中删除字符串中的括号和圆括号

在Python中删除字符串中的括号和圆括号,python,regex,string,Python,Regex,String,我有一根这样的绳子 string = 'LVPV(filler)PITN(notneeded)ATLDQITGK[0;0;0;0;0;6;2;0;0;5;0]' 如何删除括号和括号中的所有内容?像这样: string='LVPVPITNATLDQITGK'正则表达式非常适合这些任务,幸运的是python标准库提供了对正则表达式的支持 >>> re.sub(r"[\(\[].*?[\)\]]", "", st) 'LVPVPITNATLDQITGK' 上面的模式用空字符串替换

我有一根这样的绳子

string = 'LVPV(filler)PITN(notneeded)ATLDQITGK[0;0;0;0;0;6;2;0;0;5;0]'
如何删除括号和括号中的所有内容?像这样:


string='LVPVPITNATLDQITGK'

正则表达式非常适合这些任务,幸运的是python标准库提供了对正则表达式的支持

>>> re.sub(r"[\(\[].*?[\)\]]", "", st)
'LVPVPITNATLDQITGK'
上面的模式用空字符串替换括号或括号块中的任何内容

注意正则表达式模式很难变得健壮,并且可以很容易地偏离和中断,以获得异常模式,如

'LVPV(filler]PITN[notneeded)ATLDQITGK[0;0;0;0;0;6;2;0;0;5;0]'
因此,您需要确定输入数据及其预期输出

尽管如此,您仍然可以在没有正则表达式的情况下执行此操作

>>> import string
>>> ''.join(st.translate(string.maketrans("()[]"," "*4)).split(' ')[::2])
'LVPVPITNATLDQITGK'

我建议您使用交替运算符

>>> string = 'LVPV(filler)PITN(notneeded)ATLDQITGK[0;0;0;0;0;6;2;0;0;5;0]'
>>> re.sub(r"\([^()]*\)|\[[^\[\]]*\]", "", string)
'LVPVPITNATLDQITGK'
>>> st = 'LVPV(filler]PITN[notneeded)ATLDQITGK[0;0;0;0;0;6;2;0;0;5;0]'
>>> re.sub(r"\([^()]*\)|\[[^\[\]]*\]", "", st)
'LVPVATLDQITGK'

如果我有一个这样的字符串s=“var={{{some data},{some css(css)and data}Required data(dummy){scripts}”,我怎么能只提取RequiredData呢