Ответ 1
Попробуйте разделить на регулярное выражение, например /\r?\n/
, для использования как в системах Windows, так и в UNIX.
> "a\nb\r\nc".split(/\r?\n/)
[ 'a', 'b', 'c' ]
Как в node разбить строку на новую строку ('\n')?
У меня простая строка, например 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/
, для использования как в системах Windows, так и в UNIX.
> "a\nb\r\nc".split(/\r?\n/)
[ 'a', 'b', 'c' ]
Если файл является родным для вашей системы (конечно, никаких гарантий этого), то Node может помочь вам:
var os = require('os');
a.split(os.EOL);
Это обычно более полезно для построения выходных строк из Node, хотя для переносимости платформы.
a = a.split("\n");
Обратите внимание, что split
ting возвращает новый массив, а не просто присваивает его исходной строке. Вам нужно явно сохранить его в переменной.
Я создал eol
модуль для работы с окончаниями строк в node или браузерах. Он имеет метод разделения, например
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');
Здесь работают простые кавычки.