我想从字符串中移除数字的幂。我怎样才能做到这一点? 例如数字是:
1¹
我知道它的 Unicode 是 :1\u2071
我发现了这个:
text = re.sub("(\([^)]*\)|\w)\^(\([^)]*\)|\w)", ' ', text)
但不起作用。
最佳答案
您发现的内容似乎与 x^y 等表达式匹配,其中上标用 ^
字符表示。
但是,您尝试匹配的字符串使用了实际的上标字符,这些字符仅限于:
²³¹⁰ⁱ⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿ
因此,您可以只用这些创建一个字符类:
\d+[²³¹⁰ⁱ⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿ]+
Demo
关于python - 从 python 中的字符串中删除有源数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57553721/