function getStatementValue(view, statement){ // vars "@extends('parentview') ", 'extends'
var parentname = "";
view.replace(new RegExp(/\B@\w+\('([^(')\W]+)'\)\s/, 'm'), function(occurance){
parentname = occurance.replace('@' + statement + '(\'', '')
.replace('\')', "");
console.log(parentname) // parentview
console.log(parentname + 'test') // testntview <- unexpected result
});
return parentname;
}
我不知道结果如何出现。
当我按console.log中所示添加字符串时,它从一开始就替换了该字符串,就像在重新分配内存空间一样。这应该发生吗?如何返回正确的
parentviewtest
结果? 最佳答案
parentname = occurance.replace('@' + statement + '(\'', '')
.replace('\')', "").trim();
通过在字符串修改中添加
.trim()
来解决该问题。我的输入内容包括我不知道的不可见\ r和\ n字符。感谢@JaromandaX指出了这一点