Форумы Форум www.proxomitron.ru
Все о программе Proxomitron
Главная  • FAQ для форума  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Личные сообщения  •  Вход
 Извлечь число из форматированного вида
 Сайт -> Форумы » Фильтры
Следующая тема
Предыдущая тема

Новая тема  Ответить
Автор Сообщение
Alucard
Newbee
Newbee


Зарегистрирован: 06.07.2011
Сообщения: 5

СообщениеДобавлено: Вс, Окт 30 2011 19:10 Цитировать |  |  | 

есть таблица с числами вида:
Код:

<td class='value'><font color="red">200&nbsp000&nbsp000 - значение1</td>

т.е. его форматированный вид будет "200 000 000 - значение1", как можно привести его к виду 200000000?

пробовал так
Код:

Name = fixnum
Active = TRUE
Multi = TRUE
Bounds = "$NEST(<td class='value',</td>)
Limit = 4096
Match = "*<font*>(\w)\1&nbsp(\w)\2&nbsp(\w)\3*</font>";
Replace ="<td class='value'>\1\2\3</td>

но что-то не работает.. Mad

ps. где можно больше про фильтры почитать, посмотрел официальный ман и http://proxomitron.ru/help/ что то не особо подробно написано..
К началу Профиль Сообщение
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2621
Откуда: SPb

СообщениеДобавлено: Пн, Окт 31 2011 18:53 Цитировать |  |  | 

Что-то никто не пишет. Лентяи...

Alucard:

Самое простое решение записывается как-то так (при сохранении Bounds):
Код:
Match = "<font*>([0-9]+)\1(\&nbsp;([0-9]+)\2|)(\&nbsp;([0-9]+)\3|)</font>"
Replace = "<td class='value'>\1\2\3</td>"


Остальные пусть теперь пишут более универсальные варианты ;)

ПС: Надеюсь, "&nbsp" без точки с запятой -- это опечатка, а не угода глюкам IE.
К началу Профиль Сообщение
Alucard
Newbee
Newbee


Зарегистрирован: 06.07.2011
Сообщения: 5

СообщениеДобавлено: Вт, Ноя 01 2011 10:50 Цитировать |  |  | 

попробовал, что то не заработало так.. Sad

Цитата:
ПС: Надеюсь, "&nbsp" без точки с запятой -- это опечатка, а не угода глюкам IE.

действительно опечатка..)
К началу Профиль Сообщение
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2621
Откуда: SPb

СообщениеДобавлено: Ср, Ноя 02 2011 22:07 Цитировать |  |  | 

Тогда так:
Код:
Name = "Extract integers"
Active = TRUE
URL = "only.here"
Bounds = "$NEST(<td class='value',</td>) "
Limit = 256
Match = "((<[^<>]+>)+)\0"
        "(\&nbsp;|([0-9]+)\#)+"
        "\9"
Replace = "\0[\@]\9"


Тестовый пример:

Цитата:
<td class='value'><font color="red">200&nbsp;010&nbsp;020 - значение1</td>


(без закрывающего </font>, но с точкой-с-запятой)

Если и это не сработает, давай нормальный исходный код с таблицей.
К началу Профиль Сообщение
Показать сообщения:      
 
Новая тема  Ответить

 Перейти:   




Следующая тема
Предыдущая тема
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


P o w e r e d b y p h p B B © p h p B B G r o u p :: T h e m e b a s e d o n FI T h e m e :: Часовой пояс: GMT + 3