对于所有上标,我正在尝试将类似“25”的字符串转换为“25 ^ 2”。 我正在使用以下正则表达式:
([\xB2\xB3\xB9\u2070\u2074-\u207B]+)
它在regexr.com上完美运行,但不适用于我的应用程序:
Regex.Replace(expr, @"([\xB2\xB3\xB9\u2070\u2074-\u207B]+)", delegate(Match match)
{
string resu = "^(";
match.ToString().All(x =>
{
resu += suptonb(x);
return true;
});
resu += ")";
return resu;
});
char suptonb(char sup)
{
if (sup == '\xB2')
return '2';
if (sup == '\xB3')
return '3';
if (sup == '\xB9')
return '1';
if (sup == '\u2070')
return '0';
if (sup == '\u2074')
return '4';
if (sup == '\u2075')
return '5';
if (sup == '\u2076')
return '6';
if (sup == '\u2077')
return '7';
if (sup == '\u2078')
return '8';
if (sup == '\u2079')
return '9';
if (sup == '\u207A')
return '+';
if (sup == '\u207B')
return '-';
return ' ';
}
它出了什么问题?
答案 0 :(得分:0)
AAH 我不相信我没有看到。
我打电话给Regex.Replace而没有将它分配给变量(myvar = Regex.Replace)......
问题已解决