如何在python中替换括号内的值

2024-10-03 17:26:43 发布

您现在位置: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


Tags: re目标stringreplaceregex括号aabcd
1条回答
网友
1楼 · 发布于 2024-10-03 17:26:43

可以将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

相关问题 更多 >