将标准输入格式格式化为字符串时的问题(删除\ n字符)

时间:2019-02-25 15:22:13

标签: javascript node.js console

我编写了一个函数,该函数在遇到换行符char并将所有其余字符连接在一起时会中断字符串。 例如。来自看起来像

的输入
2\n1 P 3 B 5 P\n2 P 3 B 4 B\n5 P

我最终得到一个看起来像这样的数组:

[ '2', '1P3B5P', '2P3B4B', '5P' ] 

当我使用普通的字符串,但是当我尝试使用它来实现它时,这个效果很好。stdin我得到以下信息:

[ '2\\n1P3B5P\\n2P3B4B\\n5P' ]

我的实现:

let input;
let stringAsTest = `2\n1 P 3 B 5 P\n2 P 3 B 4 B\n5 P`

function convertString(str) {
    return str.replace(/ +?/g, '').split('\n').filter(
        el => el != ''
    )
}

process.stdin.on('data', (data) => {
    input = data.toString()
    convertString(input) // this doesnt work [ '2\\n1P3B5P\\n2P3B4B\\n5P' ] 
    convertString(stringAsTest) // this works as expected [ '2', '1P3B5P', '2P3B4B', '5P' ]
    process.exit();
})

0 个答案:

没有答案