Как удалить строки highlightBlock из сгенерированного кода - PullRequest
0 голосов
/ 08 января 2019

У меня есть приложение 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? может быть, с помощью регулярных выражений?

1 Ответ

0 голосов
/ 09 января 2019

Вы можете использовать индекс

Сначала разбейте строку на основе символа новой строки, т. Е. Используя (;), затем вставьте всю строку в массив, используя строку цикла проверки цикла, содержащую выделение, а затем разбейте строку, используя оставшуюся часть другой строки, которую вы выполняли;

 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

...