如何从生成的代码中删除highlightBlock字符串

时间:2019-01-08 11:14:30

标签: javascript regex blockly

我有一个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 :(得分:0)

您可以使用

的索引

首先根据换行符分割字符串,即使用(;),然后使用循环检查将所有行压入数组,检查数组字符串是否包含高亮,然后使用您执行的其他行来分割该行;

 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还会在该分号中随机创建id,请删除该分号,然后再分割就不会有任何问题。

在blockly.utils核心文件夹中可用