我想在 Python 中规范化字符串。例如,我有一个 LaTeX 代码
str='{{{ \\dfrac{{3}}{{4}} + \\sqrt{3} }}}'
我想得到字符串
str='{\\dfrac{3}{4}+\\sqrt{3}}'
删除多余的空格和花括号(例如:{{3}}-->{3}
,...)
请帮帮我!谢谢!
答案1
您可以使正则表达式更加复杂,以捕获更深层嵌套的情况,这将丢失一些重要的空白,例如\mbox{ }
但是......
import re
v=r"str='{{{ \\dfrac{{3}}{{4}} + \\sqrt{3} }}}'"
v=re.sub('([^a-zA-Z]) +', r'\1',v)
v2=re.sub('{{(([^{}]|{[^{}]*})*)}}',r'{\1}',v)
while v2 != v:
v=v2
v2=re.sub('{{(([^{}]|{[^{}]*})*)}}',r'{\1}',v)
print(v)
生产
str='{\\dfrac{3}{4}+\\sqrt{3}}'