拆分(' \ n')在浏览器中不起作用但在jsbin中工作

时间:2018-05-01 11:30:51

标签: javascript reactjs

我正在编写应该解析文本的代码。第一步是将其拆分为多行。我这样做: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"]

1 个答案:

答案 0 :(得分:1)

来自包含\n的输入的

文本不是换行符,它没有特殊含义..

将其视为它的转义版本,因此您的拆分将无效。

因为它已被转义split('\\n')应该有效,但这不是你想要的。

要在输入中添加真正的新行,而不是使用textarea元素