ошибка: неудачный выход (конец шаблона) в позиции 0 при попытке замены на обратную сторону - PullRequest
1 голос
/ 19 мая 2019

Мне нужно заменить одну обратную косую черту в моей строке.Я пытаюсь выполнить '\', но это дает мне двойную обратную косую черту.Когда я выполняю '\', он выдает ошибку сбой (конец шаблона) в позиции 0

string = 'abrakadabra'
string.replace('a','\\')
#or
re.sub('a','\\','abrakadabra')

In [47]: string.replace('a','\'')
Out[47]: "'br'k'd'br'"

In [48]: string.replace('a','\')
 File "<ipython-input-48-e884682860ae>", line 1
string.replace('a','\')
                       ^

SyntaxError: EOL при сканировании строкового литерала

In [49]: string.replace('a','\\')
Out[49]: '\\br\\k\\d\\br\\'

In [50]: 

в ожидании результата:\ ш \ к \ d \ ш \

1 Ответ

0 голосов
/ 19 мая 2019

Вы должны использовать '\\\\', тогда вы передадите '\\' для повторного вызова, то есть всего один сбежавший обратный сальш.

print(re.sub('a','\\\\','abrakadabra'))
# \br\k\d\br\
...