我已經看到了很多關于如何從Python中的字符串中刪除括號的例子,但我還沒有看到任何允許我從該字符串中刪除括號和括號內的數字的例子。例如,假設我有一個字符串,如“abc[1]”。如何從字符串中刪除“[1]”以僅返回“abc”?我嘗試了以下方法:stringTest = "abc[1]"stringTestWithoutBrackets = str(stringTest).strip('[]')但這只輸出字符串而不輸出最后一個括號斷續器[1我還嘗試了通配符選項:stringTest = "abc[1]"stringTestWithoutBrackets = str(stringTest).strip('[\w+\]')但這也輸出沒有最后一個括號的字符串斷續器[1
3 回答

鳳凰求蠱
TA貢獻1825條經驗 獲得超4個贊
你可以使用正則表達式,但我認為最簡單的方法是使用split:
>>> stringTest = "abc[1][2][3]"
>>> stringTest.split('[', maxsplit=1)[0]
'abc'

翻閱古今
TA貢獻1780條經驗 獲得超5個贊
您可以使用正則表達式,但您需要將其與模塊一起使用:re
re.sub(r'\[\d+\]', '', stringTest)
如果零件始終位于字符串的末尾,您也可以通過以下方式進行剝離:[<number>]
stringTest.rstrip('[0123456789]')
雖然后一個版本可能會剝離,但如果前一個字符也在條帶列表中。例如,在也會被剝離。[
"abc1[5]"
"1"

守著星空守著你
TA貢獻1799條經驗 獲得超8個贊
假設您的字符串具有“text[number]”格式,并且您只想保留“文本”,那么您可以執行以下操作:
stringTest = "abc[1]"
bracketBegin = stringTest.find('[')
stringTestWithoutBrackets = stringTest[:bracketBegin]
添加回答
舉報
0/150
提交
取消