11

文字列のエスケープされた表現を印刷するにはどうすればよいですか。たとえば、次の場合です。

s = "String:\tA"

出力したい:

String:\tA

代わりに画面上に

String:    A

javaの同等の関数は次のとおりです。

String xy = org.apache.commons.lang.StringEscapeUtils.escapeJava(yourString);
System.out.println(xy);

ApacheCommonsLangから

4

5 に答える 5

28

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'

unicode_escapePython 3では、代わりにコーデックを探します。

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
于 2013-02-19T15:21:51.203 に答える
10

あなたが使用することができますrepr

print repr(s)

デモ

>>> s = "String:\tA"
>>> print repr(s)
'String:\tA'

これにより引用符が表示されますが、簡単に切り取ることができます。

>>> print repr(s)[1:-1]
String:\tA
于 2013-02-19T15:17:54.590 に答える
0

print repr(string)ショットを与える

于 2013-02-19T15:18:26.010 に答える
0

相変わらず、Pythonでは簡単です:

print(repr(s))
于 2013-02-19T15:18:34.913 に答える
0

printstrエスケープを処理するを使用します。あなたが欲しいrepr

>>> a = "Hello\tbye\n"
>>> print str(a)
Hello   bye

>>> print repr(a)
'Hello\tbye\n'
于 2013-02-19T15:19:34.790 に答える