Как правильно читать из текстовика служебные символы?

  • Автор темы Автор темы dklimov
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

dklimov

Участник
Топикстартер
Сообщения
13
Реакции
0
Есть текстовик в котором содержится текст содержащий символы разметки.

Например две такие строки:

"текст1\nтекст2\n\nтекст3.
текст1\tтекст2\tтекст3 "

Здесь присутствует символ конца строки "\n".
Требуется скриптом считать в массив каждую строку, чтобы потом вставлять требуемую строку в текст, при этом учитывая разметку. Т.е. первая строка этого пример должна в тексте выглядеть так:

"текст1
текст2

текст3."


Но на практике, это получается все таки одна строка:
"текст1\nтекст2\n\nтекст3."
Если такую же сроку задать переменной или сразу вставлять в текст, то служебные символы влияют на разметку текста как надо.
Насколько я понял при считывании из файла индизайн трактует служебные символы как обычный текст и добавляет перед "\", еще один знак "\".

Как можно этого избежать?
 
Ответ: Как правильно читать из текстовика служебные символы?

Видимо, так:
Код:
var f = File('/myfile.txt');
f.open('r');

while (!f.eof)
	alert(f.readln());

Недостаток readln очень медленная работа. Значительно проще и эффективнее использовать JSON. Все строки собираете в виде элементов массива, затем при сохранении в файл используете метод toString, а при чтении - eval.
 
Ответ: Как правильно читать из текстовика служебные символы?

Ошибка. Правильно: перед записью в файл toSource, а после чтения eval.
 
Статус
Закрыто для дальнейших ответов.