У меня есть приложение Blockly, которое генерирует следующий код в виде строки.
highlightBlock(':_1ku_aN%|65~:kO;KFA');
start();
highlightBlock('3TGkH,fdPJ^sYiBQj{uX');
moveForward();
Это функция, которую я использую для отображения кода:
function showCode() {
Blockly.JavaScript.INFINITE_LOOP_TRAP = null;
var code = Blockly.JavaScript.workspaceToCode(workspace);
document.getElementById("JSCode").innerText = code;
console.log(code)
}
Как я могу удалить строки highlightBlock('some-id');\n
? может быть, с помощью регулярных выражений?
Вы можете использовать индекс
Сначала разбейте строку на основе символа новой строки, то есть, используя (;), затем вставьте всю строку в массив, используя строку массива проверки циклы, содержащую выделение, затем разбейте строку, используя оставшуюся часть другой строки, которую вы выполняли;
code = code.split(";");
var newcode = []
for(var i=0; i<code.length; code++){
if(code[i].indexOf("highlightBlock") < 0){
newcode.push(code[i]);
}
}
console.log(newcode);
Примечание: blockly создаст идентификатор случайным образом в этой точке с запятой, также является частью его, пожалуйста, удалите его, тогда у вас не возникнет никаких проблем при разбиении.
он доступен в основной папке blockly.utils