如何打印字符串的转义表示形式,例如,如果我有:
s = "String:\tA"
我希望输出:
String:\tA
屏幕上的而不是
String: A
java中的等效函数是:
String xy = org.apache.commons.lang.StringEscapeUtils.escapeJava(yourString);
System.out.println(xy);
答案 0 :(得分:20)
您希望使用string_escape
编解码器对字符串进行编码:
print s.encode('string_escape')
或者您可以使用repr()
function,它会将字符串转换为它的python文字表示,包括引号:
print repr(s)
演示:
>>> s = "String:\tA"
>>> print s.encode('string_escape')
String:\tA
>>> print repr(s)
'String:\tA'
在Python 3中,您将寻找unicode_escape
编解码器:
print(s.encode('unicode_escape'))
将打印一个字节值。要将其重新转换为unicode值,只需从ASCII解码:
>>> s = "String:\tA"
>>> print(s.encode('unicode_escape'))
b'String:\\tA'
>>> print(s.encode('unicode_escape').decode('ASCII'))
String:\tA
答案 1 :(得分:8)
您可以使用repr
:
print repr(s)
演示
>>> s = "String:\tA"
>>> print repr(s)
'String:\tA'
这会给出引号 - 但你可以轻松地将它们分开:
>>> print repr(s)[1:-1]
String:\tA
答案 2 :(得分:0)
给print repr(string)
一个镜头
答案 3 :(得分:0)
与往常一样,它在python中很容易:
print(repr(s))
答案 4 :(得分:0)
print
使用str
来处理转义。你想要repr
。
>>> a = "Hello\tbye\n"
>>> print str(a)
Hello bye
>>> print repr(a)
'Hello\tbye\n'