У меня есть текстовые данные в нескольких строках, хранящиеся в строке шаблона ES6. Любая строка может содержать буквальную строку \n
. Пример:
`line1
same\nline2
line3`
Я хочу разбить эту строку на массив строк, где каждая строка происходит из строки строки шаблона, без разделения на литерал \n
внутри строки. Таким образом, моим ожидаемым/желаемым результатом был массив JavaScript, выглядящий так: ["line1", "same\nline2", "line3"]
.
Глядя на приведенный ниже пример, очевидно, что этого не происходит при простом разделении с использованием регулярного выражения для разрывов строк (/\n/
).
Так возможно ли это вообще? Я что-то упустил/не понял о том, как работают строки шаблона?
const lines = `line1
same\nline2
line3`.split(/\n/);
document.getElementById('out').textContent = JSON.stringify(lines)
<pre id="out"></pre>
\n
в литерале шаблона анализируется идентично до разрыва строки литерала — попробуйтеconsole.log
изменить строку перед ее разбиением. Может быть, вместо этого вы хотели\\n
в литерале шаблона? - person CertainPerformance   schedule 24.05.2018\\n
в литерале шаблона, но я экспортировал данные из базы данных SQL. Вывод состоит из нескольких строк с некоторыми\n
между ними. Теперь я избежал этих разрывов строк в текстовом редакторе. Я надеялся пропустить промежуточный шаг. - person alex3683   schedule 24.05.2018