Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.01.2015, 08:39
Новичок на форуме
Отправить личное сообщение для neromont Посмотреть профиль Найти все сообщения от neromont
 
Регистрация: 15.01.2015
Сообщений: 5

Подскажите каким объектом нужно воспользоваться
Мне нужно занести данные из каждого подобного элемента в новый элемент javascript объекта.
Чтобы найти первый элемент я так понимаю нужно использовать регулярное выражение \[% MyElement [0-9]+ [0-9]+\].
после этого нужно использовать if-конструкцию для сравнения входящих элементов.
[% MyElement 39939 0]
name=MyName
Group=MyGroup
[]
[% MyElement 39939 1]
name=MyName2
Group=MyGroup 2
[]
Вопрос в том, как можно поочередно переходить к элементам [% MyElement 39939 0] и считывать данные name и group. Каким инструментом воспользоваться?

Наверное попробую выдергивать целиком элемент \[% zCMaterial [0-9]+ [0-9]+\][^\[\]]+\[\] и затем в нем выполнять поиск нужных мне параметров

Последний раз редактировалось neromont, 15.01.2015 в 10:00. Причина: Придумал
Ответить с цитированием
  #2 (permalink)  
Старый 16.01.2015, 07:05
Профессор
Отправить личное сообщение для SV0L0CH Посмотреть профиль Найти все сообщения от SV0L0CH
 
Регистрация: 07.11.2010
Сообщений: 301

Как по мне, то быстрее сделать `.split('\n')`, потом можно проделать такое
var line;
var outArr=[[]]
while(line = inArr.shift()){
  if(line[1]=='%')
    outArr.unshift([line]);
  else
    outArr[0].push(line);
}
outLine.reverse();

и уже каждый блок пробегать регулярками.
Если нужно будет как-то развивать формат, то можно воспользоваться такими инструментами как этот https://github.com/Svoloch/js-text-tools
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите как поступить. merzavchick jQuery 9 24.08.2012 23:57
плиииз, нужно бегущий текст вверх организовать, подскажите))) prostodemon Элементы интерфейса 8 23.03.2011 23:39