[英]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.