如何将包含上标的字符串转换为普通字符串?
例如,我有一个包含 "n⁵"
的字符串。我想将其转换为 "n5"
。对于字符串 "n⁵"
,我没有使用任何<sup></sup>
标签。它跟你看到的一模一样。
最佳答案
要替换每个字符,您可以将所有上标字符组合成一个有序字符串(这样 ⁰
位于索引 0,1
位于索引 1,等等。 )并通过indexOf
获取其对应的数字:
function digitFromSuperscript(superChar) {
var result = "⁰¹²³⁴⁵⁶⁷⁸⁹".indexOf(superChar);
if(result > -1) { return result; }
else { return superChar; }
}
然后您可以通过此函数运行字符串中的每个字符。例如,您可以通过 replace
回调来执行此操作:
"n⁵".replace(/./g, digitFromSuperscript)
或者更理想的是,将替换限制为仅考虑上标字符:
"n⁵".replace(/[⁰¹²³⁴⁵⁶⁷⁸⁹]/g, digitFromSuperscript)
关于javascript - 如何在javascript中将上标数字转换为实数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46810658/