trim()在应用于 Backbone.js 模型中的字符串时不起作用

cigdeys3  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(136)

我从一个 Backbone.js 模型中得到一个字符串"hi\nbye\ngoodluck\n\n{{optout}}"。但是我需要trim()这个字符串。但是它不起作用。
当我在浏览器中使用trim()的同一字符串时,它工作得很好:"hi\nbye\ngoodluck\n\n{{optout}}".trim()
预期输出:

hi
bye
goodluck

{{optout}}
pexxcrt2

pexxcrt21#

您字符串中有multiple-new-lines(\n),而trim()删除了单个换行符这就是出现问题原因
您需要将.replace()pattern一起使用
工作片段:-

console.log("hi\nbye\ngoodluck\n\n{{optout}}".replace(/[\r\n]+/g, '\n'));
oyxsuwqo

oyxsuwqo2#

您的问题与trim无关。trim不会将' \n'转换为新行。'\n'已经是新行字符。如果您要在网页中的不同行中查看字串,您必须知道HTML会忽略新行,除非文字位于<pre>标记内。
您需要将换行符转换为<br>标记,然后再将其添加到页面:

var str = "hi\nbye\ngoodluck\n\n{{optout}}";

var convertedStr = str.replace(/\n/g, '<br>');

 console.log(convertedStr);

相关问题