pyt...@bdurham.com wrote: > Does Python provide a way to format a string according to a > 'picture' format? > > For example, if I have a string '123456789' and want it formatted > like '(123)-45-(678)[9]', is there a module or function that will > allow me to do this or do I need to code this type of > transformation myself?
A basic implementation without regular expressions: >>> def picture(s, pic, placeholder="@"): ... parts = pic.split(placeholder) ... result = [None]*(len(parts)+len(s)) ... result[::2] = parts ... result[1::2] = s ... return "".join(result) ... >>> >>> picture("123456789", "(@@@)-@@-(@@@)[...@]") '(123)-45-(678)[9]' Peter -- http://mail.python.org/mailman/listinfo/python-list