如何忽略字符串中的所有转义字符?
Fx: \n \t %s
所以,如果我有一个字符串:
text = "Hello \n My Name is \t John"
现在,如果我打印字符串,输出将与实际字符串不同:
Hello My Name is John
如何打印'实际字符串'像这样:
Hello \n My Name is \t John
这是一个不起作用的例子:
text = "Hello \n My Name is \t John"
text.replace('\n', '\\n').replace('\t', '\\t')
print text
这不起作用! 没有区别
我已经查看了一些可以删除它们的主题,但我不希望这样。我怎么忽略它们?所以我们可以看到实际的字符串?
答案 0 :(得分:1)
在打印之前,您可以在字符串上调用repr
:
>>> text = "Hello \n My Name is \t John"
>>> print repr(text)
'Hello \n My Name is \t John'
>>> print repr(text)[1:-1] # [1:-1] will get rid of the ' on each end
Hello \n My Name is \t John
>>>
答案 1 :(得分:1)
您的方法不起作用,因为字符串是不可变的。您需要将text.replace(...)
重新分配给文本才能使其正常运行。
>>> text = text.replace('\n', '\\n').replace('\t', '\\t')
>>> print text
Hello \n My Name is \t John
答案 2 :(得分:0)
很少但非常有用的方法,使用 r :
a=r"Hey\nGuys\tsup?"
print (a)
输出:
>>>
Hey\nGuys\tsup?
>>>
所以,对于你的问题:
text =r"Hello\nMy Name is\t John"
text = text.replace(r'\n', r'\\n').replace(r'\t', r'\\t')
print (text)
输出:
>>>
Hello\\nMy Name is\\t John
>>>
您必须定义文本变量AGAIN,因为字符串是不可变的。