正确。超过条的逃脱序列?

时间:2015-12-06 18:52:47

标签: java android-studio jqmath

我使用字符串作为方程式的来源,每当我尝试添加像overbar标签这样的东西时:

\ov5\ - creates a bar over the 5

但是,当我将它添加到Java字符串中时,为了编译它,我需​​要像这样编写它:

string x= "\\ov5\\";

这种方式似乎打破了JQMath并且不起作用,导致方程式破裂。如果我做了一些非常错误的话,这是代码:

WebView webView;
String functext = "$$\\ov55\\$$";
    js = "<html><head>"
            + "<link rel='stylesheet' href='file:///android_asset/mathscribe/jqmath-0.4.3.css'>"
            + "<script src='file:///android_asset/mathscribe/jquery-1.4.3.min.js'></script>"
            + "<script src='file:///android_asset/mathscribe/jqmath-etc-0.4.3.min.js'></script>"
            + "</head><body>"
            + functext + "</body></html>";
    webView.loadDataWithBaseURL("", js, "text/html", "UTF-8", "");

编辑:为了澄清,最终结果奇怪地读取&#34; $$ \ ov55 $$&#34;。

请注意,当我在JQMath的网站页面here上尝试相同的字符串时,它会按预期工作。

EDIT2:以下是放置在webView.loadDataWithBaseURL上的断点的一些调试值:

实际字符串:字符串functext =&#34; $$ \\\\ ov55 \\\\ $$&#34 ;;

实际显示的结果:$$ \ ov55 \ $$

debug results:
functext = $$\\ov55\\$$
js = <html><head><link rel='stylesheet' href='file:///android_asset/mathscribe/jqmath-0.4.3.css'><script src='file:///android_asset/mathscribe/jquery-1.4.3.min.js'></script><script src='file:///android_asset/mathscribe/jqmath-etc-0.4.3.min.js'></script></head><body>$$\\ov55\\$$</body></html>

任何以字符串以外的其他方式加载它的帮助都会有很大帮助。

2 个答案:

答案 0 :(得分:1)

我想你想要这个:

String functext = "$$\\ov55\\$$";

(第一个\需要之前 ov运算符。)

编辑:另一种可能性(因为上面显然只是你帖子中的一个拼写错误,而不是你的代码中)是在管道中的某个地方,字符串被第二次插值。在这种情况下,您需要双重转义反斜杠:

String functext = "$$\\\\ov55\\\\$$";

P.S。如果最终结果显示为"$$\ov55$$",则问题似乎是在jqmath看到任何内容之前。你发布的代码确实为我产生了这个结果。

答案 1 :(得分:1)

此外,jqMath接受`(反引号)代替\,如果这样可以使事情变得更容易。最后,我在ov和5之间放了一个空格,以澄清它不是一个名为ov5的宏。 (另见上面的评论,删除最终的\。)