如何将包含上标的字符串转换为普通字符串?
例如,我有一个包含"n?". 我想将其转换为"n5". 对于字符串"n?",我没有使用任何<sup></sup>标签。它就像你看到的一样。
要替换每个字符,您可以将所有上标字符组合到一个有序字符串中(即?位于索引 0、¹位于索引 1 等)并通过indexOf以下方式获取它们对应的数字:
function digitFromSuperscript(superChar) {
var result = "?¹²³??????".indexOf(superChar);
if(result > -1) { return result; }
else { return superChar; }
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过此函数运行字符串中的每个字符。例如,您可以通过replace回调来实现:
"n?".replace(/./g, digitFromSuperscript)
Run Code Online (Sandbox Code Playgroud)
或者更理想的是,将替换限制为仅考虑上标字符:
"n?".replace(/[?¹²³??????]/g, digitFromSuperscript)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
921 次 |
| 最近记录: |