如何使用 re.sub 函数从字符串中删除 '[' 字符?

How to remove '[' character from a string with re.sub function?

我想从字符串中删除“[”方括号字符。 我正在使用 re 库。 我对这个方括号 ']' 没有任何问题,但我对这个方括号 '['.

仍然有问题

我的代码:

depth_split = ['[575,0]']

new_string = re.sub(']','',depth_split) #working
newnew_string = re.sub('[','',new_string) #not working

PS:我正在使用 python。

我的输出:['[575,0']

我尝试的输出:['575,0']

您在这里似乎想要的正则表达式模式是 ^\[|\]$:

depth_split = ['[575,0]']
depth_split[0] = re.sub(r'^\[|\]$', '', depth_split[0])
print(depth_split)  # ['575,0']

这里不需要使用regex,因为使用str.replace():

可以轻松完成
new_string= '[575,0]'
new_string = new_string.replace(']', '')
new_string = new_string.replace('[', '')
print(new_string)

但如果需要使用 regex,请尝试:

import re

depth_split = '[575,0]'

new_string = re.sub(r'\]|\[','',depth_split) #working
print(new_string)

如果括号始终位于列表中字符串的开头和结尾,那么您可以使用字符串切片来执行此操作,如下所示:

depth_split = ['[575,0]']

depth_split = [e[1:-1] for e in depth_split]

print(depth_split)

输出:

['575,0']