在子字符串JavaScript中新建一行

问题描述

我正在尝试用其中的新行替换子字符串。

我的代码str = str.split('testtest').join('test\ntest')

我的字符串: test,test,testtest,test

如何看待代码行被称为:

test,test
test,test

调用后它的实际外观 test,test

解决方法

假设要将此结果放入html元素,最简单的方法是使用innerText而不是innerHTML

innerText将保留换行符,而innerHTML不保留换行符。

var str = "test,test,testtest,test"

str = str.split("testtest").join("test\ntest");

document.getElementById("result").innerText = str;
<div id="result"></div>

,

方法1:pre标签不修剪\ n sympols:

const str = 'test,test'
  .split('testtest').join('test\ntest');
pre.innerHTML = str;
<pre id=pre></pre>

方式2:br

const str = 'test,test'
  .split('testtest').join('test<br/>test');
document.body.innerHTML = str;

,

关于您如何输出它。如果将其输出到控制台,则新行将按预期工作。如果您尝试将其输出为HTML,则需要使用Jewels而不是<br />,甚至需要将其包装在\n标记中,如建议的其他答案一样。要格式化它以进行标记,我可以这样做:

<pre>