Не удается избежать escape-символов в строке
В попытке ответить на этот вопрос мне удалось получить строку print
escape-символы, избегая обратной косой черты.
Когда я пытаюсь обобщить его, чтобы избежать всех экранированных символов, он, похоже, ничего не делает:
>>> a = "word\nanother word\n\tthird word"
>>> a
'word\nanother word\n\tthird word'
>>> print a
word
another word
third word
>>> b = a.replace("\\", "\\\\")
>>> b
'word\nanother word\n\tthird word'
>>> print b
word
another word
third word
но этот же метод для определенных escape-символов, он работает:
>>> b = a.replace('\n', '\\n')
>>> print b
word\nanother word\n third word
>>> b
'word\\nanother word\\n\tthird word'
Есть ли общий способ добиться этого? Должны включать \n
, \t
, \r
, так далее.
1 ответ
Решение
Определите вашу строку как raw, используя r'text', как в коде ниже:
a = r"word\nanother word\n\tthird word"
print(a)
word\nanother word\n\tthird word
b = "word\nanother word\n\tthird word"
print(b)
word
another word
third word