将python字符串中的每个插入符号替换为上标

2024-09-27 09:33:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用unicode上标替换每个插入字符,以便更好地用python打印公式。我的问题是,每个插入符号后面都可能有一个不同的指数值,所以在unicode字符串u'\u00b*'中,*通配符需要是我要在字符串中打印的指数。我想一些正则表达式可以解决这个问题,但我在这方面的经验很少。在

例如,假设我有一根绳子 “x^3-x^2” ,然后我希望将其转换为unicode字符串 u“x\u00b3-x\u00b2”


Tags: 字符串unicode符号经验指数字符公式通配符
1条回答
网友
1楼 · 发布于 2024-09-27 09:33:58

您可以使用re.substr.translate捕获指数并将其更改为unicode上标。在

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)

输出

^{pr2}$

相关问题 更多 >

    热门问题