Regex Query: удаляет escape-символы, но сохраняет знаки препинания в строке - PullRequest
0 голосов
/ 17 октября 2019

У меня есть строка, которая выглядит как - "\n\n\some text\t goes here. some\t\t other text goes here\b\n\n\n".

Что я хочу - "some text goes here. some other text goes here."

Вот что я делаю: re.sub('[^A-Za-z0-9]+', ' ', s)

Проблема в том, что это также удаляет все знаки препинания. Как мне их сохранить?

1 Ответ

0 голосов
/ 17 октября 2019

Вот решение, которое находит все escape-символы в вашей строке и затем удаляет их.

r = repr(s)  # Convert escape sequences to literal backslashes
r = r[1:-1]  # Remove the quote characters introduced by `repr`
escapes = set(re.findall(r'\\\w\d*', r))  # Get escape chars
answer = re.sub('|'.join(map(re.escape, escapes)), '', r)  # Remove them
# \ome text goes here. some other text goes here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...