Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Алгоритм парсинга строки. / 4 сообщений из 4, страница 1 из 1
22.04.2005, 16:35:22
    #33030708
Azart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм парсинга строки.
Привет. Помогите написать алгоритм парсинга строки.

Дан массив чисел a(i): 1, 2, 4, 7,10,11,17,22, 23,50, 55, 65, 100,1001, 1000000

Дано строка: "Data In ( 1, 4, 7,10,11,17,50, 55, 65, 100,1001) end data".

Надо составить новый массии b(j) в который войдут только те числа из массива a(i), которые есть в строке.
В данном случае это будет так b(j): 1, 4, 7, 10, 11, 17, 50, 55, 65, 100, 1001
Т.е. надо каждое число из строки запихнуть в массив.

Я так пологаю, что наличие массива a(i) не обязательно, можно сразу в строке искать числа до запятой и каждое найденное запихивать в новый массив, но как быть с последним? И после запятое может быть пробел, а может и не быть его.
А можно брать в цикле каждый элемент массива a(i) и проверять есть ли такое число в строке, но тогда a(0)=1 будут совпадать числа из строки 1,11,17,100,1001, а это не верно.

Выслушаю ваши предложения или может кто решал подобную задачб, тогда можно и код в студию.

P.S.: Количество чисел в строке всегда разное(от 1 до 1000000), числа не повтаряются и идут по возрастанию слево направо.
...
Рейтинг: 0 / 0
22.04.2005, 17:51:41
    #33030981
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм парсинга строки.
Для начала, строку разбить на элементы массива можно функцией Split, она для того и существует.

Потом пройтись циклом(двумя) и выкинуть ненужное.

Можно сделать интереснее: используя обратную функйцию, Join, сделать из первого массива строку. И проходя циклом по второму массиву выбрасывать элементы если нет вхождения. Один цикл вместо двух.

Magnus
...
Рейтинг: 0 / 0
22.04.2005, 17:59:10
    #33031010
Azart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм парсинга строки.
Т.е. после сплита у меня будет в место строки ещё один массив и тогда можно поэлементно сравнивать их?

авторИ проходя циклом по второму массиву выбрасывать элементы если нет вхождения. Эм, не очень понял про вхождение.
...
Рейтинг: 0 / 0
22.04.2005, 21:33:22
    #33031355
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм парсинга строки.
1.Не вместо а в дополнение :).
2.Проверять наличие элементов второго массива в строке сделанной из первого.

Magnus
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Алгоритм парсинга строки. / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]