如何替换 python 中括号内的值
How to replace value within a bracket in python
给定 string = "a(a123-bcd-a456)ppll"
目标:用"A"
替换在括号内的"a"
期望输出="a(A123-bcd-A456)ppll"
我试过:
regex = '\(.*?\)'
re.sub(regex, string, string.replace("a", "A"))
但结果是 Aa(a123-bcd-a456)ppllppll
?
您可以将 re.sub
与回调函数一起使用:
string = "a(a123-bcd-a456)ppll"
output = re.sub(r'\((.*?)\)', lambda x: '(' + x.group(1).replace('a', 'A') + ')', string)
print(output) # a(A123-bcd-A456)ppll
这里的策略是先捕获括号内的内容(...)
,然后传递给一个lambda回调函数。在 lambda 中,我们将 a
替换为 A
.
给定 string = "a(a123-bcd-a456)ppll"
目标:用"A"
"a"
期望输出="a(A123-bcd-A456)ppll"
我试过:
regex = '\(.*?\)'
re.sub(regex, string, string.replace("a", "A"))
但结果是 Aa(a123-bcd-a456)ppllppll
?
您可以将 re.sub
与回调函数一起使用:
string = "a(a123-bcd-a456)ppll"
output = re.sub(r'\((.*?)\)', lambda x: '(' + x.group(1).replace('a', 'A') + ')', string)
print(output) # a(A123-bcd-A456)ppll
这里的策略是先捕获括号内的内容(...)
,然后传递给一个lambda回调函数。在 lambda 中,我们将 a
替换为 A
.