Replace every n instances of a string

Hans Nowak zephyr01 at alltel.net
Fri Aug 15 18:24:59 EDT 2003


Tom Cross wrote:
> Hello-
> 
> I have a function that returns to me a text representation of Unicode
> data, which looks like this:
> 
> \u0013\u0021\u003c\u003f\u0044\u001f\u006a\u005a\u0050\u0015\u0018\u001d\u007e\u006b\u004e\u007d\u006a\u006e\u0068\u0042\u0026\u003c\u004f\u0059\u0056\u002b\u001a\u0077\u0065\u006a\u000a\u0021\u005f\u0025\u003f\u0025\u0024\u007e\u0020\u0011\u0060\u002c\u0037\u0067\u007a\u0074\u0074\u0003\u0003\u000f\u0039\u0018\u0059\u0038\u0029\u0001\u0073\u0034\u0009\u0069\u005e\u0003\u006e\u000d\u004c\u001d\u00
> f\u006e\u001b\u006e\u0063\u000b\u0014\u0071\u007c\u004e\u006a\u0011\u004a\u001f\u0063\u0016\u003d\u0020\u0065\u003e\u0043\u0012\u0047\u0026\u0062\u0004\u0025\u003b\u0005\u004c\u002e\u005a\u0070\u0048
> 
> I would like to add carriage returns to this for usability.  But I
> don't want to add a return after each "\u" I encounter in the text
> (regexp comes to mind if I did).  I want to add a return after each 12
> "\\u"s I encounter in the string.
> 
> Any ideas?  Do I not want to search for "\\u" but instead just insert
> a \n after each 72 characters (equivalent to 12 \uXXXX codes)?  Would
> this provide better performance?  If so, what would be the easiest way
> to do that?

Something like this:

# let s be the long string with unicode representation
z = []
while s:
     chunk, s = s[:72], s[72:]
     z.append(chunk)
new_string = '\n'.join(z)

HTH,







More information about the Python-list mailing list