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