Я пытаюсь создать строковый массив с строками кодов, чтобы программа могла переписать часть существующего кода после того, как она попала в метку. Моя проблема возникает на этой линии:Ошибка синтаксиса escape-последовательности Java
var finalTitle = (str.replace("()", ("(" + num + ")")));
Как я пытаюсь преобразовать эту строку в допустимую строку, я понимаю, что кавычка может быть несколько сложнее разобрать. Это то, что я до сих пор:
"var finalTitle = (str.replace(\"()\", (\"(\" + num + \")\")));"
Однако затмение не прекратит жаловаться, что синтаксис этой строки неверен. Кто-нибудь знает, как правильно форматировать эту строку? Или, возможно, более конкретно, как разбирать кавычки в строку?
Вот пример массива строк, который я заполняю. Я собираюсь петлю через него с каждой итерации, пишущего новую строку в .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. – Addison
@Addison: Ошибка не в строковом литерале, а в том, как вы инициализируете массив. У вас есть некоторые символы мусора перед закрывающей скобкой. Вероятно, ошибка копирования-вставки. –
На самом деле я добавил этот фрагмент после вставки при аварии, так как я не вижу его в своем коде. Я закончил переписывание строки, и теперь она работает нормально. Спасибо. – Addison