> My template outside of the '%s' characters contains only commas and > spaces, and within, neither commas nor spaces. Given that information, > is there any reason it might not work properly?
Given this new (key) information along with the assumption that you're doing straight string replacement (not dictionary replacement of the form "%(key)s" or other non-string types such as "%05.2f"), then yes, a reversal is possible. To make it more explicit, one would do something like >>> template = '%s, %s, %s' >>> values = ('Tom', 'Dick', 'Harry') >>> formatted = template % values >>> import re >>> unformat_string = template.replace('%s', '([^, ]+)') >>> unformatter = re.compile(unformat_string) >>> extracted_values = unformatter.search(formatted).groups() using '[^, ]+' to mean "one or more characters that aren't a comma or a space". -tkc -- http://mail.python.org/mailman/listinfo/python-list