Replacing A Regex With A String Of Characters With The Same Length
I want to replace XML tags, with a sequence of repeated characters that has the same number of characters of the tag. For example: 2013-01-21T21:15:00Z
Solution 1:
re.sub
accepts a function as replacement:
re.sub(pattern, repl, string, count=0, flags=0)
If
repl
is a function, it is called for every non-overlapping occurrence of pattern. The function takes a single match object argument, and returns the replacement string.
Here's an example:
In [1]: import re
In [2]: defrepl(m):
...: return'#' * len(m.group())
...:
In [3]: re.sub(r'<[^<>]*?>', repl,
...: '<o:LastSaved>2013-01-21T21:15:00Z</o:LastSaved>')
Out[3]: '#############2013-01-21T21:15:00Z##############'
The pattern I used may need some polishing, I'm not sure what's the canonical solution to matching XML tags is. But you get the idea.
Post a Comment for "Replacing A Regex With A String Of Characters With The Same Length"