我正在尝试创建一个包含多行代码的字符串数组,以便程序在到达标记后可以覆盖现有代码的一部分。我的问题出在这一行:
var finalTitle = (str.replace("()", ("(" + num + ")")));
当我尝试将该行转换为有效字符串时,我知道引号解析起来可能有些棘手。这是我到目前为止所拥有的:
"var finalTitle = (str.replace(\"()\", (\"(\" + num + \")\")));"
但是,eclipse不会停止提示这一行的语法不正确。有谁知道如何正确格式化这一行?或者可能更具体地说,如何将引号解析为字符串?
这是我正在填充的字符串数组的示例。我将循环遍历它,每次迭代都会向 .js 文件写入新行:
String[] lines = {"var patientTree = getPatientMenuTree();", "var rootNode = patientTree.getNodeById('Patients');", "var str = rootNode.title;", "var num = patientArray.length;", "var finalTitle = (str.replace(\"()\", (\"(\" + num + \")\")));" };
最佳答案
应该可以正常工作。尝试分配给变量:
String text = "var finalTitle = (str.replace(\"()\", (\"(\" + num + \")\")));";
更新
在行尾附近有一个额外的 };"
不应该在那里:
String[] lines = {"...", "...", "...", "..." };" };
罢工><罢工>罢工>
我看到您已经修复了该错误。
关于Java 转义序列语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11038817/