Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Алгоритм парсинга строки, парсим строку на неизв-ое кол-во раздели 
:(
    Опции темы
Quadro9
Дата 19.1.2007, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 19.1.2007

Репутация: нет
Всего: нет



суть задачи:
есть строка - 
name=1,name=2,name=3|age=1,age=2,age=3

допустим мы ее парсим на разделители "=" и "|"
должен палучится массив - 

[0][0]="name=1"
[0][1]="name=1"
[0][2]="name=1"
[1][0]="age=1"
[1][1]="age=1"
[1][2]="age=1"

если парсим на три разделителя: "=", "|" и ","
должен палучится массив - 

[0][0][0]="name"
[0][0][1]="1"
[0][1][0]="name"
[0][1][1]="2"
[0][2][0]="name"
[0][2][1]="3"
[1][0][0]="age"
[1][0][1]="1"
[1][1][0]="age"
[1][1][1]="2"
[1][2][0]="age"
[1][2][1]="3"

т.е. размерность массива зависит от кол-ва разделителей причем тех которые реально встречаются в тексте..
нужно за один проход по тексту сформировать такой массив..
Я думаю делать так: просматривать по симольно текст, при встрече нового разделителя увеличивать размерность массива.. Но что-то незнаю как это сделать.. 
может можно как-то по другому.. подскажите пожалуйста...
PM MAIL   Вверх
szz
Дата 19.1.2007, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: 6
Всего: 33



не надо посимвольно, используй метод split, он тут в самый раз.

Добавлено @ 15:53 
Вот:
Код

str = 'name=1,name=2,name=3|age=1,age=2,age=3';
arr = str.split('|');
for(var i=0;i<arr.length;++i){
    arr[i] = arr[i].split(',');
    for(var j=0;j<arr[i].length;++j){
        arr[i][j] = arr[i][j].split('=');
    }
}


o.t. Когда наконец нам сделают чтоб по умолчанию писалось {code=ascript}, а то вручную переписывать надоело.


--------------------
PM   Вверх
Quadro9
Дата 19.1.2007, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 19.1.2007

Репутация: нет
Всего: нет



Спасибо, szz,
 А как бы этот код оптимизировать для n -го числа разделителей...
PM MAIL   Вверх
szz
Дата 19.1.2007, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: 6
Всего: 33



А он сработает и так.


--------------------
PM   Вверх
Quadro9
Дата 19.1.2007, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 19.1.2007

Репутация: нет
Всего: нет



идея такая: в функцию приходит строка и список разделителей..
т.е. если придет один разделитель функция выдает результат один, если 4 разделителя придет - результат 4 -рех мерный массив и как сделать чтоб вот -так варьировалась размерность масива??..

Это сообщение отредактировал(а) Quadro9 - 19.1.2007, 17:35
PM MAIL   Вверх
AlDev
Дата 19.1.2007, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный идиотъ
***


Профиль
Группа: Участник Клуба
Сообщений: 1927
Регистрация: 17.4.2005
Где: Irk, rus

Репутация: 8
Всего: 50



рекурсией
PM MAIL WWW ICQ YIM MSN   Вверх
Quadro9
Дата 19.1.2007, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 19.1.2007

Репутация: нет
Всего: нет



AlDev, можно пример кода?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Flash"
AlDev
SoWa
  • Если вы хотите предложить кому-либо работу, то пишите или в личку, или оставляйте сообщения в специально предназначеном для этого форуме "Объявления о найме специалистов"
  • Один вопрос - одна тема. Не надо переходов от одного вопроса к другому.
  • Если вы хотите показать какой-нибудь ваш мульт, причём показать, а не предоставить исходник, то вам сюда
  • Вопросы по разработке интернет-приложений на Flex и вопросы по MXML пишите в раздел Flex
  • Смотрим в будущее. ActionScript 3 обсуждается в форуме ActionScript 3
  • Новости из мира Flash.
  • New! [code=ascript][/code] - подсветка ActionScript + wikipedia help

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 1,2 | Следующая тема »


 




[ Время генерации скрипта: 0.0781 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.