David David - 2 months ago 6
Python Question

Removing control characters from a string in python

I currently have the following code

def removeControlCharacters(line):
i = 0
for c in line:
if (c < chr(32)):
line = line[:i - 1] + line[i+1:]
i += 1
return line


This is just does not work if there are more than one character to be deleted.

Answer

You could use str.translate with the appropriate map, for example like this:

>>> mpa = dict.fromkeys(range(32))
>>> 'abc\02de'.translate(mpa)
'abcde'