gpt4 book ai didi

python - 如何转义通过用户输入收到的 latex 代码?

转载 作者:IT老高 更新时间:2023-10-28 21:39:56 27 4
gpt4 key购买 nike

我从用户输入的 GUI 文本框中读入一个字符串,并通过 pandoc 处理它.该字符串包含带有反斜杠字符的数学 latex 指令。我想将字符串作为原始字符串发送到 pandoc 进行处理。但是像“\theta”这样的东西变成了标签和“heta”。

如何将包含反斜杠字符的字符串文字转换为原始字符串...?

编辑:

感谢 develerx、飞羊和 unutbu。但是没有一个解决方案似乎对我有帮助。原因是还有其他反斜杠字符在 python 中没有任何影响,但在 latex 中确实有意义。

例如'\lambda'。建议的所有方法都会产生

\\lambda

在 latex 处理中没有经过——它应该保持为\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

最佳答案

Python 的原始字符串只是告诉 Python 解释器它应该将反斜杠解释为文字斜杠的一种方式。如果您读取用户输入的字符串,它们已经超过了它们可能是原始的点。此外,用户输入很可能按字面意思阅读,即“原始”。

这意味着翻译发生在其他地方。但如果你知道它会发生,为什么不转义反斜杠来解释它呢?

s = s.replace("\\", "\\\\")

(请注意,您不能将 r"\" 作为 “a raw string cannot end in a single backslash” ,但我也可以将 r"\\" 用于第二个参数.)

如果这不起作用,您的用户输入是出于某种神秘的原因来解释反斜杠,因此您需要一种方法来告诉它停止。

关于python - 如何转义通过用户输入收到的 latex 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7262828/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com