我有一个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
字符串?也许使用正则表达式?
答案 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核心文件夹中可用