javascript - 如何在javascript中将上标数字转换为实数

标签 javascript jquery lodash

如何将包含上标的字符串转换为普通字符串?

例如,我有一个包含 "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/

相关文章:

jquery - 如何使用 jquery 更改标签标签内的文本

javascript合并对象数组,生成数组中的对象值

javascript - 递归地从对象数组中选择一个字段

javascript - 从 lodash fill 与常规数组填充数组时出现不良结果

javascript - 浮点到字节 (JavaScript)

javascript - 如何从 backbone.js 中的集合调用模型方法?

javascript - JQuery:单击 div 编辑表格

jquery - POST 到 WebAPI Controller 会导致参数为空

javascript - JavaScript 中的 new 运算符如何工作?

javascript - 检查值是否在范围内并设置值是否超出范围的优雅方法?