从txt文件中拆分文本(utf16le,环境是macos);
我使用fs读取aaa.txt,并拆分(' \ n \ n'),结果长度为1。 我在页面上渲染数据,并使用jquery读取内容,使用split(' \ n \ n'),结果长度为6(正确的结果)
aaa.txt
1�
�
�a�
�
�
�
�2�
�
�b�
�
�
�
�3�
�
�c�
�
�d�
�
�
�
�4�
�
�e�
�
�
�
�5�
�
�f�
�
�
�
�6�
�
�g�
�
节点代码:
fs.readFile(__dirname+'/aaa.txt','utf16le',function (err,data) {
if(err){console.log(err);}
else {
// console.log(data);
// console.log(data);
var textSubtitles = data.split('\n\n');
console.log('length');
console.log(textSubtitles.length);// the result is 1!!!
res.render('aaa.ejs', {
content:data
})
}
jquery代码:
let sss = $('#fff').text().split('\n\n');
console.log(sss.length); //结果是6 !!!
sss是由nodejs呈现的数据,相同的文本。
答案 0 :(得分:1)
这是因为来自文本的字符串是
[ '1\r\na\r\n\r\n2\r\nb\r\n\r\n3\r\nc\r\nd\r\n\r\n4\r\ne\r\n\r\n5\r\nf\r\n\r\n6\r\ng\r\n' ]
我需要使用拆分(' \ r \ n \ r \ n')而不是拆分(' \ n \ n')