我已经看到了很多关于如何从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
提交
取消