function replaceSuperscript(s) {
var
ix = '⁰¹²³⁴⁵⁶⁷⁸⁹ᵃᵇᶜᵈᵉᶠᵍʰⁱʲᵏˡᵐⁿᵒᵖʱʳˢᵗᵘᵛʷˣʸᶻ',
re = '0123456789abcdefghijklmnopqrstuvwxyz'
for (var i = 0; i < ix.length; i++)
s = s.replace(new RegExp('\\[' + re[i] + '\\]', 'g'), ix[i])
return s
}
document.write(replaceSuperscript('A[1], A[t], A[0]'))
我尝试了各种反斜杠,为什么这不起作用,如何让它工作?
预期输出:A¹, Aᵗ, A⁰
答案 0 :(得分:2)
您可以使用String.replace
回调和Array.indexOf
function replaceSuperscript(s) {
var ix = '⁰¹²³⁴⁵⁶⁷⁸⁹ᵃᵇᶜᵈᵉᶠᵍʰⁱʲᵏˡᵐⁿᵒᵖʱʳˢᵗᵘᵛʷˣʸᶻ',
re = '0123456789abcdefghijklmnopqrstuvwxyz';
return s.replace(/\[(.)\]/g, function(m,g) { return ix[re.indexOf(g)]; });
}