需要正则表达式来删除括号[关闭]

Posted

技术标签:

【中文标题】需要正则表达式来删除括号[关闭]【英文标题】:need regular expression to remove brackets [closed] 【发布时间】:2016-11-26 12:36:37 【问题描述】:

我是python的新手。我有一个数组[' [59342486', '59343079]']。我想 编写一个去掉括号内的正则表达式 ' [59342486' '59343079]'

你能帮我解决这个问题吗?

提前致谢 让

【问题讨论】:

您不需要正则表达式。只需使用字符串replace() 方法。 另外,正则表达式不会删除括号。它将帮助您找到要删除的括号。 你从哪里得到这个奇怪的列表?构建此列表的代码可能需要修复,可能通过使用 ast.literal_eval 或避免在此处之前的某个时间点转换为字符串。 【参考方案1】:
 new_list = [s.replace('[','').replace(']','') for s in old_list]

如果您想删除前导和尾随空格:

new_list = [s.replace('[','').replace(']','').strip() for s in old_list]

你也可以原地做:

old_list[:] = [s.replace('[','').replace(']','') for s in old_list]

【讨论】:

这很好,OP 没有要求它,但它在列表的第一项中留下了前导空格。我猜这可能会在以后引起问题,所以可能将.strip() 链接到表达式【参考方案2】:

您可以为此使用replace

for index, item in enumerate(my_list):
  my_list[index] = item.replace('[', '').replace(']', '')

【讨论】:

其实whileif 都不需要。默认情况下,replace 替换所需字符的每个实例。问题是它没有到​​位,因此您的示例无法按预期工作。 您不需要while 循环。 replace() 方法将删除所有出现的子字符串。

以上是关于需要正则表达式来删除括号[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用正则表达式删除括号内的文本?

怎么通过正则表达删除含中文的括号部分但保留含英文的括号部分?

如何在 Python 中使用正则表达式删除右方括号?

asp.net 使用正则表达式验证包含打开/关闭括号片段的属性字符串

js正则表达式替换捕获内容

如何使用正则表达式删除字符串中的括号符号