簡體   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