2024-09-27 09:33:58 发布
网友
我想用unicode上标替换每个插入字符,以便更好地用python打印公式。我的问题是,每个插入符号后面都可能有一个不同的指数值,所以在unicode字符串u'\u00b*'中,*通配符需要是我要在字符串中打印的指数。我想一些正则表达式可以解决这个问题,但我在这方面的经验很少。在
例如,假设我有一根绳子 “x^3-x^2” ,然后我希望将其转换为unicode字符串 u“x\u00b3-x\u00b2”
您可以使用re.sub和str.translate捕获指数并将其更改为unicode上标。在
re.sub
str.translate
import re def to_superscript(num): transl = str.maketrans(dict(zip('1234567890', '¹²³⁴⁵⁶⁷⁸⁹⁰'))) return num.translate(transl) s = 'x^3-x^2' out = re.sub('\^\s*(\d+)', lambda m: to_superscript(m[1]), s) print(out)
您可以使用
re.sub
和str.translate
捕获指数并将其更改为unicode上标。在输出
^{pr2}$相关问题 更多 >
编程相关推荐