python中re.sub()替换中怎么在替换的时候知道每一次替换的序号?

oldStr='abaca'
newStr='1Ab2Ac3A'
把oldStr中的a替换为A,第一次替换为1A,第二次替换为2A,第三次替换为3A.
使用方法:re.sub()
newStr=re.sub('a','A',oldStr)
但上述只能替换为'AbAcA'.该怎么知道每一次替换的序号呢?
谢谢?

阅读 1.9k
1 个回答
import re


def repl_with_count():
    i = 0

    def repl(matchobj):
        nonlocal i
        i = i + 1
        return str(i) + "A"

    return repl


oldStr = "abaca"
newStr = "1Ab2Ac3A"

print(re.sub("a", repl_with_count(), oldStr))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题