在子字符串中换行 (JavaScript)

Make a new line in substring (JavaScript)

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

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

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

调用代码行后应该如何处理:

test,test,test
test,test,test
test,test,test

它被调用后的实际情况 test,test,testtest,test,testtest,test,test

方式 1:pre 标记不 trim\n 符号:

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

方式二:br

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

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

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

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

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

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

这是关于你如何输出它。如果您将它输出到控制台,那么新行将按预期工作。如果你试图将它输出到 HTML,那么你需要使用 <br /> 而不是 \n 或者甚至将它包装在 <pre> 标签中,就像另一个答案一样建议。要将其格式化为标记,我会这样做:

let str = "test,test,testtest,test,testtest,test,test";
str = str.split('testtest').join('test<br />test');