为了账号安全,请及时绑定邮箱和手机立即绑定

从字符串 Python 中删除括号和里面的数字

从字符串 Python 中删除括号和里面的数字

大话西游666 2022-09-13 17:16:07
我已经看到了很多关于如何从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'


查看完整回答
反对 回复 2022-09-13
?
翻阅古今

TA贡献1780条经验 获得超5个赞

您可以使用正则表达式,但您需要将其与模块一起使用:re

re.sub(r'\[\d+\]', '', stringTest)

如果零件始终位于字符串的末尾,您也可以通过以下方式进行剥离:[<number>]

stringTest.rstrip('[0123456789]')

虽然后一个版本可能会剥离,但如果前一个字符也在条带列表中。例如,在也会被剥离。["abc1[5]""1"


查看完整回答
反对 回复 2022-09-13
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

假设您的字符串具有“text[number]”格式,并且您只想保留“文本”,那么您可以执行以下操作:


stringTest = "abc[1]"

bracketBegin = stringTest.find('[')

stringTestWithoutBrackets = stringTest[:bracketBegin]


查看完整回答
反对 回复 2022-09-13
  • 3 回答
  • 0 关注
  • 221 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信