我编写了一个函数,该函数在遇到换行符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();
})