trim() 在应用于 backbone 模型中的字符串时不起作用
trim() not working while applying to a string from a backbone model
我从 backbone 模型中获取字符串 "hi\nbye\ngoodluck\n\n{{optout}}"
。但我需要 trim() 字符串。但是没用。
当我在浏览器中使用与 trim() 相同的字符串时,它工作正常:"hi\nbye\ngoodluck\n\n{{optout}}".trim()
预期输出:
hi
bye
goodluck
{{optout}}
您的字符串有 multiple-new-lines(\n)
,trim()
删除单个 new-lines。这就是问题发生的原因
您需要将 .replace()
与 pattern
一起使用
工作片段:-
console.log("hi\nbye\ngoodluck\n\n{{optout}}".replace(/[\r\n]+/g, '\n'));
您的问题与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);
我从 backbone 模型中获取字符串 "hi\nbye\ngoodluck\n\n{{optout}}"
。但我需要 trim() 字符串。但是没用。
当我在浏览器中使用与 trim() 相同的字符串时,它工作正常:"hi\nbye\ngoodluck\n\n{{optout}}".trim()
预期输出:
hi
bye
goodluck
{{optout}}
您的字符串有 multiple-new-lines(\n)
,trim()
删除单个 new-lines。这就是问题发生的原因
您需要将 .replace()
与 pattern
工作片段:-
console.log("hi\nbye\ngoodluck\n\n{{optout}}".replace(/[\r\n]+/g, '\n'));
您的问题与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);