打印字符串的转义表示
我想知道如何打印一个字符串的转义表示,比如我有:
s = "String:\tA"
我希望在屏幕上输出:
String:\tA
而不是
String: A
在Java中,有一个等效的函数是:
String xy = org.apache.commons.lang.StringEscapeUtils.escapeJava(yourString);
System.out.println(xy);
5 个回答
0
在Python中,这个事情总是很简单:
print(repr(s))
12
你可以使用 repr
这个功能:
print repr(s)
示例
>>> s = "String:\tA"
>>> print repr(s)
'String:\tA'
这样做会给你加上引号——不过你可以很简单地把它们去掉:
>>> print repr(s)[1:-1]
String:\tA
36
你想用 string_escape
编码来处理字符串:
print s.encode('string_escape')
或者你可以使用 repr()
函数,这个函数会把字符串转换成它在 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