M.E.Farmer wrote: > Bengt Richter wrote: >> Just thought None as the first argument would be both handy and > mnemonic, >> signifying no translation, but allowing easy expression of deleting > characters, >> e.g., >> >> s = s.translate(None, 'badcharshere') >> >> Regards, >> Bengt Richter > > What's wrong with : > > s = s.replace('badchars', "") > > It seems obvious to replace a char ( to me anyway ) with a blank > string, rather than to 'translate' it to None. > I am sure you have a reason what am I missing ? > M.E.Farmer
>>> s = "NHoBwA RyAoSuB AsAeHeH AiBtH,A CnRoAwD HyBoAuC HdRoCnH'AtB" >>> s.translate(None, "BADCHARS") "Now you see it, now you don't" >>> s.replace("BADCHARS", "") "NHoBwA RyAoSuB AsAeHeH AiBtH,A CnRoAwD HyBoAuC HdRoCnH'AtB" i. e. you have to replace() for every char in "BADCHARS": >>> reduce(lambda x, y: x.replace(y, ""), "BADCHARS", s) "Now you see it, now you don't" +1, btw. Peter -- http://mail.python.org/mailman/listinfo/python-list