I want to make a Python script that creates footnotes. The idea is to find all strings of the sort \"Some body text.{^}{Some footnote text.}\"
and replace them with
Any callable can be used, so you could use a class to track the numbering:
class FootnoteNumbers(object):
def __init__(self, start=1):
self.count = start - 1
def __call__(self, match):
self.count += 1
return "{}".format(self.count)
new_body_text = re.sub(pattern, FootnoteNumbers(), text)
Now the counter state is contained in the FootnoteNumbers()
instance, and self.count
will be set anew each time you start a re.sub()
run.