Как изменить символ перед определенным словом

Задача: Перед каждым словом BACKSPACE в файле нужно убрать 1 символ.

К примеру: в файле следующие данные: Hello user BACKSPACE .

После выполнения программы, должно получиться: Hello use BACKSPACE .

 with open('log.txt', 'r') as f:
 old_data = f.read()

 new_data = old_data.replace(' BACKSPACE ', 'на_что_меняем')

 with open('log.txt', 'w') as f:
 f.write(new_data)

Ответы (1 шт):

Автор решения: Евгений

Если вам нужно во всём тексте убрать букву перед ' BACKSPACE', используйте регулярные выражения:

import re

s = ""
with open('log.txt') as f:
    s = f.read()
    # если после BACKSPACE тоже должен быть пробел - в первых кавычках добавляем \s, а во вторых - пробел
    # т.е. re.sub(r".\sBACKSPACE\s", " BACKSPACE ", s) 
    s = re.sub(r".\sBACKSPACE", " BACKSPACE", s) 
with open('low.txt', 'w') as f:
    f.write(s)
→ Ссылка