如何在节点通过换行('\ n')拆分string?

如何在节点通过换行('\ n')拆分string? 我有简单的string像var a = "test.js\nagain.js" ,我需要得到["test.js", "again.js"] 。 我试过了

 a.split("\n"); a.split("\\n"); a.split("\r\n"); a.split("\r"); 

但以上都不行。

尝试在/\r?\n/等正则expression式上进行拆分,以便Windows和UNIX系统均可使用。

 > "a\nb\r\nc".split(/\r?\n/) [ 'a', 'b', 'c' ] 

如果该文件是本机系统(当然不能保证),那么Node可以帮助你:

 var os = require('os'); a.split(os.EOL); 

这对于从Node构造输出string通常更有用,但对于平台可移植性来说。

 a = a.split("\n"); 

请注意, split返回新的数组,而不是只分配给原始string。 您需要明确地将其存储在一个variables中。

我做了一个eol模块,用于处理节点或浏览器中的行尾。 它有一个拆分方法

 var lines = eol.split(text) 

第一个应该工作:

 > "a\nb".split("\n"); [ 'a', 'b' ] > var a = "test.js\nagain.js" undefined > a.split("\n"); [ 'test.js', 'again.js' ] 

你需要使用简单的引号

 string.split('\n'); 

这里简单的引号工作。