Подтвердить что ты не робот

Замените все "\" на "\\" python

Кто-нибудь знает, как заменить все \ на \\ на python? Ive попытался:

re.sub('\','\\',string)

Но он закручивает его из-за escape-последовательности. кто-нибудь знает оленя на мой вопрос?

4b9b3361

Ответ 1

Вам просто нужно избежать обратных косых черт в ваших строках: (также нет необходимости в материалах регулярных выражений)

>>> s = "cats \\ dogs"
>>> print s
cats \ dogs
>>> print s.replace("\\", "\\\\")
cats \\ dogs

Ответ 2

вам следует:

re.sub(r'\\', r'\\\\', string)

Поскольку r'\' не является допустимой строкой

Кстати, вы всегда должны использовать строки raw (r'') с регулярным выражением, так как многие вещи выполняются с обратными косыми чертами.

Ответ 3

Вам либо нужно re.sub("\\\\","\\\\\\\\",string), либо re.sub(r'\\', r'\\\\', string), потому что вам нужно избежать каждой косой черты дважды... один раз для строки и один раз для регулярного выражения.

>>> whatever = r'z\w\r'
>>> print whatever
z\w\r
>>> print re.sub(r"\\",r"\\\\", whatever)
z\\w\\r
>> print re.sub("\\\\","\\\\\\\\",whatever)
z\\w\\r

Ответ 4

Вам следует избегать обратных косых черт, а также вам не нужно регулярное выражение для этой простой операции:

>>> my_string = r"asd\asd\asd\\"
>>> print(my_string)
asd\asd\asd\\
>>> replaced = my_string.replace("\\", "\\\\")
>>> print(replaced)
asd\\asd\\asd\\\\