我基本上想要效果:
str = str.replace('\\n', '\n').replace('\"', '"')...
对此的一些答案似乎是'编码然后解码',但这只适用于Python2(我正在使用Python3)。我已经尝试过str.encode('utf-8')。decode('unicode_escape'),但我读过'unicode_escape'已弃用,它似乎用输出上的unicode代码点替换非ASCII字符。
更好的说明:
s = '\\"こんにちは\\"'
print(s)
s = s.encode('utf-8').decode('unicode_escape')
print(s)
输出:
\ “こんにちは\”
“ãããã㔓
我想要的是什么:
“こんにちは”
修改(适用于所有人,只需使用.replace()
)
以上是一个简单的例子;例如,更复杂的可能是s = r'こんにちは\\n'
,应转换为r'こんにちは\n'
。如果我只是将r'\\'
的所有实例替换为r'\'
,将r'\n'
的实例替换为'\n'
,则不会处理转义转义字符本身的情况。
也许我可以推出自己的解决方案 - 但如果可能的话,我更喜欢使用语言功能。