我正在编写应该解析文本的代码。第一步是将其拆分为多行。我这样做:let lines = input.split('\n');
我写的函数在jsbin中测试时效果很好,但在浏览器中测试时它不起作用。在浏览器中输入从文本输入传递到组件,但登录到控制台时看起来很好。可能是这种情况?
输入:'\\page 1 \n\ page 1.1'
代码:
function parseTree(input) {
if (input === '') {
return '';
}
console.log(input)
let root = {title: null, isRoot: true, children: [] };
let lines = input.split('\n');
console.log(lines);
/* ... */
return root;
}
parseTree('\\page 1 \n\ page 1.1');
在jsbin中,结果是(第一行是输入,第二行lines
数组):
" \ page 1第1.1页"
[" \ page 1","第1.1页"]
(https://jsbin.com/yacuhot/edit?js,console)
在浏览器控制台中:
\ page 1 \ n \ page 1.1
[" \ page 1 \ n \ page 1.1"]
答案 0 :(得分:1)
\n
的输入的文本不是换行符,它没有特殊含义..
将其视为它的转义版本,因此您的拆分将无效。
因为它已被转义split('\\n')
应该有效,但这不是你想要的。
要在输入中添加真正的新行,而不是使用textarea
元素