Javascript str.replace()方法未按预期工作

Javascript str.replace()方法未按预期工作,javascript,angular,Javascript,Angular,我正在尝试将所有出现的\n替换为要在HTML中显示的字符串中的标记。似乎它没有按预期工作。它不会替换字符串中的任何\n。我只是想告诉大家,我正在从API获取文本 some.component.html <p class="notes-desc" [innerHTML]="replaceHtml(note.noteDesc) | safeHTML" ></p> 一些 replaceHtml(text) { if (!text

我正在尝试将所有出现的\n替换为要在HTML中显示的字符串中的
标记。似乎它没有按预期工作。它不会替换字符串中的任何\n。我只是想告诉大家,我正在从API获取文本

some.component.html

 <p  class="notes-desc"
        [innerHTML]="replaceHtml(note.noteDesc) | safeHTML"
      ></p>

一些

 replaceHtml(text) {
    if (!text || !text.length) {
      return text;
    }
    console.log(text);
    const textFrm = text.replace(/\n/g, "<br/>");
    console.log(textFrm);
    return textFrm;
  }
replaceHtml(文本){
如果(!text | |!text.length){
返回文本;
}
console.log(文本);
const textFrm=text.replace(/\n/g,“
”); console.log(textFrm); 返回文本FRM; }

您只需要使用
innerText
而不是
innerHtml
。 试试这个代码

函数myCallback(响应){
var response_div=document.getElementById(“response_div”);
response_div.innerText=JSON.parse(response).stringOutput;
}


它与您所期望的

文本的用途相同。替换(/\n/g,“
”)
应将
\n
替换为

。你期望得到什么?通过这个方法,我不会在输出中得到任何替换的字符串。但是如果我在chrome开发控制台上尝试同样的事情。它正在按预期工作。你确定这是一条新的生产线,而不是一条回车线吗??也尝试使用
\r
。另外,请尝试在方法中完全关闭Dom清理,请参见ref:字符串是否包含单个换行符(即
\n
)或是否包含文本字符串
“\n”
(反斜杠和“n”)?您正在替换换行符,如果要替换文字字符串,则需要转义反斜杠:
/\\n/g
可能的重复