繁体   English   中英

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

[英]Remove brackets and number inside from string Python

我已经看到很多关于如何从 Python 中的字符串中删除括号的示例,但我没有看到任何允许我从该字符串中删除括号和括号内的数字的示例。

例如,假设我有一个字符串,例如“abc[1]”。 如何从字符串中删除“[1]”以仅返回“abc”?

我尝试了以下方法:

stringTest = "abc[1]"
stringTestWithoutBrackets = str(stringTest).strip('[]')

但这仅输出没有最后括号的字符串

ABC[1]

我也尝试过使用通配符选项:

stringTest = "abc[1]"
stringTestWithoutBrackets = str(stringTest).strip('[\w+\]')

但这也会输出没有最后一个括号的字符串

ABC[1]

您可以为此使用正则表达式,但我认为最简单的方法是使用split

>>> stringTest = "abc[1][2][3]"
>>> stringTest.split('[', maxsplit=1)[0]
'abc'

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

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

如果[<number>]部分始终位于字符串的末尾,您还可以通过以下方式剥离:

stringTest.rstrip('[0123456789]')

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

假设您的字符串具有“text[number]”格式并且您只想保留“text”,那么您可以这样做:

stringTest = "abc[1]"
bracketBegin = stringTest.find('[')
stringTestWithoutBrackets = stringTest[:bracketBegin]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM