Node.JS不附加string怪异的错误?

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所示的string时,它将从头开始replacestring,就像重新分配内存空间一样。 这是否应该发生? 我如何返回正确的parentviewtest结果?

 parentname = occurance.replace('@' + statement + '(\'', '') .replace('\')', "").trim(); 

通过向string修改添加一个.trim()来解决它。 我的input包含了我不知道的\ r和\ n字符。

感谢@JaromandaX发现