我从用户输入的GUI文本框中读取字符串,并通过pandoc进行处理。该字符串包含用于数学的乳胶指令,该指令具有反斜杠字符。我想将字符串作为原始字符串发送给pandoc进行处理。但是像'\ theta'这样的东西就成了一个标签和'heta'。python:如何将字符串文字转换为原始字符串文字?
如何将包含反斜杠字符的字符串文字转换为原始字符串...?
编辑:
谢谢develerx,飞羊和unutbu。但没有任何解决方案似乎对我有帮助。原因是还有其他反斜杠字符,它们在蟒蛇中没有任何影响,但对乳胶有意义。
例如'\ lambda'。所有方法建议生产
\\lambda
不通过乳胶加工去 - 它应该继续作为\拉姆达。
另一个编辑:
如果我能得到这个工作,我想我应该通过。 @Mark:所有三种方法都给出了我不想要的答案。
a='\nu + \lambda + \theta';
b=a.replace(r"\\",r"\\\\");
c='%r' %a;
d=a.encode('string_escape');
print a
u + \lambda + heta
print b
u + \lambda + heta
print c
'\nu + \\lambda + \theta'
print d
\nu + \\lambda + \theta
你确定字串的确不包含'\\ lambda'并不仅仅是增加了一倍,当你打印出来?尝试打印'mystring [1:]',看看里面是否还有'\'。应该有一些一致性 - 如果'\ t'正在转换为标签,那么'\\'应该转换为'\'。 –
您可以发布从GUI文本框收到的字符串的'repr',并显示您用于通过pandoc处理它的代码吗? – unutbu
你的测试是不现实的。你没有从文本框中获得它,你用一个字符串字面值来设置它,并且Python在分配给'a'时已经以不一致的方式转换它。在这一点上不可能获得原始文本。 –