繁体   English   中英

从Python中的字符串中删除括号和括号

[英]Remove Brackets and Parentheses from string in Python

我有这样的字符串

string = 'LVPV(filler)PITN(notneeded)ATLDQITGK[0;0;0;0;0;6;2;0;0;5;0]'

如何删除括号和括号中的所有内容? 像这样:

字符串='LVPVPITNATLDQITGK'

正则表达式是完成这些任务的理想选择,幸运的是python标准库为regex提供支持

>>> 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'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM