On Jun 27, 6:32 am, [EMAIL PROTECTED] wrote: > Hi > I am a beginner on Python and have a problem.. > > I have text file and reading it line by line and there are backspace > characters in it like '\b' or anything you want like "#". I want to > replace these chars. with Backspace action. I mean deleting the > previous char. and the \b char also. and writing all cleaned text to a > file again. > > How can I do that. >
I haven't seen anything like that for ... ummm, a very long time. Used for bolding and making up your own characters on a daisy-wheel printer. Where did you get the file from? If there are no cases of multiple adjacent backspaces (e.g. "blahfoo\b \b\bblah") you can do: new_line = re.sub(r'.\x08', old_line, '') Note: using \x08 for backspace instead of \b to avoid having to worry about how many \ to use in the regex :-) Otherwise you would need to do something like while True: new_line = re.sub(r'[^\x08]\x08', '', old_line) if new_line == old_line: break old_line = new_line And if you were paranoid, you might test for any remaining stray backspaces, just in case the line contains "illegal" things like "\bfoo" or "foo\b\b\b\b" etc. Cheers, John -- http://mail.python.org/mailman/listinfo/python-list