现在我将文件作为字符串并将其格式化为json。该文件包含我想要转义的\ r,\ n字符,但文件中有json对象已经转义了那些非法字符,例如\\ r和\\ n。所以现在我想用\\ r \\ n替换\ r \ n字符,只要它没有前面的\
我在下面尝试了这个..但我不确定为什么它不起作用
re.sub(r'[^\][\n]', r'\\\\n', s)
任何建议都将不胜感激!
答案 0 :(得分:3)
您可以使用RegEx执行此操作:
import re
data = 'Hello\r\nWorld\\r\\n'
print(data)
print('-'*20)
data = re.sub(r'([^\\])\r', '\\1\\\\r', data)
data = re.sub(r'([^\\])\n', '\\1\\\\n', data)
print(data)
<强>输出:强>
Hello
World\r\n
--------------------
Hello\r\nWorld\r\n
或者,稍微不同的方法是这样做:
data = 'Hello\r\nWorld\\r\\n'
print(data)
print('-'*20)
data = data.replace('\r', '\\r')
data = data.replace('\n', '\\n')
print(data)
<强>输出:强>
Hello
World\r\n
--------------------
Hello\r\nWorld\r\n