"spir" <denis.s...@free.fr> wrote

def _cleanRepr(text):
''' text with control chars replaced by repr() equivalent '''
result = ""
for char in text:
     n = ord(char)
     if (n < 32) or (n > 126 and n < 160):
             char = repr(char)[1:-1]
     result += char
return result

I haven't read the rest of the responses yet but my first suggestion is to invert the process and use replace()

Instead of looping through every char in the string search for the illegal chars. A regex should enable you to do a single findall search. If you find any you can loop over the instances using replace() or sub() to change them. The translate module might even let you do all changes in one go.

That should be faster I think.

HTH


--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to