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

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

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

提前致谢 让

【问题讨论】:

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

标签: python regex


【解决方案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() 方法将删除所有出现的子字符串。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-14
  • 2018-08-25
  • 1970-01-01
  • 1970-01-01
  • 2011-02-28
  • 2013-04-06
  • 2014-10-09
相关资源
最近更新 更多