Node 不同系统的换行符怎么处理?
10 回复
- 直接用
os.EOL
,https://nodejs.org/api/os.html#os_os_eol \r\n
才对,你写反了。
@atian25 好的,谢谢。我还是对 API 不太熟,要学习一个。
有一点要注意,这个API只是知道运行环境用的哪个EOL
也就是说,假设你的文本是在win下写的,然后linux或mac下读的话,这个API并不能解决问题
因为3种系统有3种不同的EOL
,可以考虑用正则xxx.split(/[\r\n]{1,2}/)
@CoderIvan 呃,您的意思我懂了,但是具体实现不包括分行的读取,只是要在 md 文件里写分行。所以我不是很理解这里提到正则xxx.split(/[\r\n]{1,2}/)
具体该怎么用?
这个正则是匹配出3种换行符\r, \n, \r\n
,那你只要读到这3个的其中之一,就可以在md文件里写分行了
或者说不转换,你直接搬过去md那边,好像也没什么不对吧
md格式不知道有没要求说只能用哪种换行符
我从来只用 LF 换行,不管是什么系统
@CoderIvan,@bighuang624 正则表达式/[\r\n]{1,2}/
有bug , '\n\r'
在 windows 里会被判断为换行, 而且\r
是 OS X 之前的 系统才有, 建议 /\r?\n/
@CoderIvan 你确定吗? 用 \r 换行的是 1984 - 2001 年的 Classic Mac OS,你怎么遇到的?