![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Sunr1se |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 1.5.2006 Репутация: 6 Всего: 13 |
Тогда сделай так:
В цикле перебирай строчки, записывая в какую-то переменную номер строки, если в ней есть тег <tr>(ну или какой-то другой). Как только цикл закончится, воспользуйся функцией Mechanic'а, передав в нее эту самую строчку. --------------------
IRC-канал Винграда |
|||
|
||||
Rondo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 24.2.2006 Где: там.. Репутация: нет Всего: нет |
Вообщем перелопатил я этот текст и получилось как и ожидал эти самые 2 числа
Толкько как разлечить что это 2 числа а не 6 числел, и отправить их на разные строки... И числа то могут быть разные ![]() --------------------
Начинающий кодер |
|||
|
||||
Sunr1se |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 1.5.2006 Репутация: 6 Всего: 13 |
А ты не мог бы показать, каким образом лопатил текст?
![]() --------------------
IRC-канал Винграда |
|||
|
||||
BUGOR |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 5 Всего: 16 |
В данном случае однозначно рулят регулярки. Только в твоём примере первый и последний найденные теги какие? Я так понял надо найти всё, что в пределах тегов td и чтобы это были цифры, если так, то выражение будет выглядеть следующим образом:
(?!(<td.*>(<b>)?)) [0-9 ]+(?=((</b>)?</td>)) Из твоего примера моё выражение выдирает следующее: 3 897 51 212 1 796 802 23 917 530 030 14 156 608 210 125 741 |
|||
|
||||
Rondo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 24.2.2006 Где: там.. Репутация: нет Всего: нет |
Еще Poseidon довал на днях
![]()
Это сообщение отредактировал(а) Rondo - 10.7.2006, 16:21 --------------------
Начинающий кодер |
|||
|
||||
BUGOR |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 5 Всего: 16 |
А, ну и если будешь работать с MatchCollection, то просто бери два последних элемента массива, если же с массивами работать не хочешь, то нужно дорабатывать выражение, чтобы оно выбирало текст между двумя последними тегами td, в принципе это несложно, если надо скажи, попробую составить.
Добавлено @ 16:30 Rondo, объясни мне зачем писать огромные и тормозные функции, когда это всё красиво и элегантно умещается в одно регулярное выражение? |
|||
|
||||
Rondo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 24.2.2006 Где: там.. Репутация: нет Всего: нет |
Неумею я пока ими пользоватся
![]() --------------------
Начинающий кодер |
|||
|
||||
Sunr1se |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 1.5.2006 Репутация: 6 Всего: 13 |
Так ты передавай в функцию строки по отдельности. тогда будешь получать строку, в которой одно число. Удали из строки пробелы и приведи его к типу integer.
http://anso.da.ru/ - здесь есть и компонент необходимый, и мануальчик небольшой по регулярным выражениям ![]() Это сообщение отредактировал(а) Sunr1se - 10.7.2006, 16:44 --------------------
IRC-канал Винграда |
|||
|
||||
BUGOR |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 5 Всего: 16 |
Rondo, Уже оффтопить начали, ну думаю модеры нас простят. Я учил регулярные выражения по книге:
Фридл Дж. Регулярные выражения (2-е изд.), Питер 2003, 464 с., ISBN 5-272-00331-4 Есть в сети. Прочёл всего-лишь порядка 100 страниц, но при этом спокойно могу составлять довольно сложные регулярки. |
|||
|
||||
Лысенак |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.7.2006 Репутация: нет Всего: нет |
http://www.regularexpressions.info/ Это сообщение отредактировал(а) Лысенак - 10.7.2006, 18:42 |
|||
|
||||
Rondo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 24.2.2006 Где: там.. Репутация: нет Всего: нет |
Нашел эту книгу, и правда легко )) http://foror.name/upload/regexp.zip
--------------------
Начинающий кодер |
|||
|
||||
Eva_Adamova |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 26.3.2007 Где: Петропавловск-Кам чатский Репутация: нет Всего: нет |
Пусть я отвечаю поздно, через полгода, но всё равно хочется сказать спасибо. У меня такая же проблемы была, с разбором таблиц в ХТМЛе, сейчас всё стало более менее ясно!
Добавлено через 3 минуты и 18 секунд Вышеприведённая ссылка на книгу не работает, вот другая - http://natahaus.ifolder.ru/551395 |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Приятно осозновать, что есть люди которые пользуются поиском.
Eva_Adamova, ![]() |
|||
|
||||
AlManZ |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 4.1.2007 Репутация: нет Всего: нет |
Ну чтоб не создавать новый топик... Книга - да, отличная! А вот теперь еще бы где-нить взять эту библиотеку TRegExpr... ссылки, которые нашел уже не работают :(. Можно и на мыло, буду благодарен.
|
|||
|
||||
iddqd |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 16.11.2005 Репутация: 0 Всего: 2 |
-------------------- |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |