Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2009, 13:09   #1
beemoto
Форумчанин
 
Аватар для beemoto
 
Регистрация: 11.04.2009
Сообщений: 277
Восклицание Парсинг строки

Код:
<a href="icq.cgi">581946553</a>
как мне вытянуть 581946553!?
(в copy & pos неоч понимаю)
beemoto вне форума Ответить с цитированием
Старый 12.04.2009, 13:36   #2
KingOfNothing
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 89
По умолчанию

можешь попробовать регулярные выражения - для этого примера будет /[0-9]*/

http://forum.vingrad.ru/articles/topic-213075.html
Если вдруг захотите сказать мне спасибо - воспользуйтесь кнопкой "Добавить отзыв"
KingOfNothing вне форума Ответить с цитированием
Старый 12.04.2009, 13:46   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в конкретном примере делать так:
Код:
s:='<a href="icq.cgi">581946553</a>'
 s:=Copy(s,PosEx('>',s,Pos('<a href=',s))+1,PosEx('</a>',s,PosEx('>',s,Pos('<a href=',s)))-PosEx('>',s,Pos('<a href=',s))-1);
данный код вытягивает текст между тегами <a href=<произвольный текст>> </a>
не зависит от того что будет вместо "icq.cgi"
(я просто привык немного универсально писать)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.04.2009, 13:52   #4
beemoto
Форумчанин
 
Аватар для beemoto
 
Регистрация: 11.04.2009
Сообщений: 277
По умолчанию

Пепел Феникса, ты не понял
мне нужено чтоб он вытянул не icq.cgi а 581946553!!!
beemoto вне форума Ответить с цитированием
Старый 12.04.2009, 14:07   #5
beemoto
Форумчанин
 
Аватар для beemoto
 
Регистрация: 11.04.2009
Сообщений: 277
По умолчанию

KingOfNothing, мона пример в данном случае!?
beemoto вне форума Ответить с цитированием
Старый 12.04.2009, 14:19   #6
KingOfNothing
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 89
По умолчанию

Код:
uses RegExpr;
var s:string;
RegExp: TRegExpr;
begin
s:='<a href="icq.cgi">581946553</a>';
RegExp := TRegExpr.Create;
try
RegExp.Expression := '[0-9]+';
if RegExp.Exec(s) then
  Edit1.Text:=RegExp.Match[0]
  else ShowMessage('Fail');
  finally
    RegExp.Free;
  end;
end;
Если вдруг захотите сказать мне спасибо - воспользуйтесь кнопкой "Добавить отзыв"
KingOfNothing вне форума Ответить с цитированием
Старый 12.04.2009, 14:44   #7
beemoto
Форумчанин
 
Аватар для beemoto
 
Регистрация: 11.04.2009
Сообщений: 277
По умолчанию

KingOfNothing, пишет что нет файла RegExpr.дку
вот сам исходный код страницы:
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Rambler ID</title>
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<link rel="stylesheet" href="/id-i/style.css" type="text/css">

</head>

<body  bgcolor="#ffffff" topmargin="0" leftmargin="0" rightmargin="0" marginheight="0" marginwidth="0" text="#000000" link="#0000cc" vlink="#012B82" alink="#CF0000">

<!-- header -->

<table cellpadding="2" cellspacing="0" border="0" width="100%"> 
 <tr>
  <td class="copy"><a href="http://www.rambler.ru/" title="www.rambler.ru">РАМБЛЕР</a></td>
 </tr>
</table>

<!-- logo -->

<table cellpadding="5" cellspacing="0" border="0" width="100%" class="header-block"> 
<tr>
<td>
<a href="/"><img src="/id-i/id_logo.gif" alt="Rambler ID" width="185" height="44" border="0"></a></td>

<td align="right" nowrap class="txt">
Здравствуйте, wedrtfgyhuj edrftyui<br>
<b>edrftyui@rambler.ru</b><br>
<a href="auth.cgi?mode=logout;sid=607e646f5e9fe86495935d017c70da9e"><img src="/id-i/arrrt.gif" alt="" width="3" height="11" border="0" hspace="4">Выйти</a><br>
</td>

</tr>
</table>
   
<!-- /header -->


<p class="ttl"><img src="/i/dot_id.gif" width="14" height="14" alt="" border="0">



Поздравляем! Вы зарегистрированы на Рамблере
</p>







<p class="txt">
Поздравляем! Вы зарегистрированы на Рамблере.
</p>
<p class="txt">
Ваше имя на Рамблере: <b>edrftyui@rambler.ru</b>

<!-- tns-counter.ru -->
<script type="text/javascript">
	//<![CDATA[
	var img = new Image();
	img.src = 'http://www.tns-counter.ru/V13a***R>' + document.referrer.replace(/\*/g,'%2a') + '*rambler_ru/ru/UTF-8/tmsec=rambler_uid-registered/';
	//]]>
</script>
<noscript>
	<img src="http://www.tns-counter.ru/V13a****rambler_ru/ru/UTF-8/tmsec=rambler_uid-registered/" width="1" height="1" alt=""/>
</noscript>
<!--/ tns-counter.ru -->


<br>Ваш номер ICQ: 
<img src="/i/icq/_bicq.gif" alt="" border="0" align="top"><b><a href="icq.cgi">566435479</a></b>


</p>
вот еще нашел но там на переменные ругается:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 a:string;
 i,j:integer;
begin
uin:=uin.Lines.Strings[73];
j:=ansipos('i">',a)+3;
i:=ansipos('</',a);
edit1.Text:=copy(a,j,i-j);
end;
beemoto вне форума Ответить с цитированием
Старый 12.04.2009, 14:45   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
данный код вытягивает текст между тегами <a href="что угодно">нужный текст</a>
еще вопросы?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.04.2009, 14:49   #9
KingOfNothing
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 89
По умолчанию

beemoto, я думал, что вы прочитали хотя бы начало статьи по ссылке, тогда бы узнали где можно скачать RegExpr.pas
Если вдруг захотите сказать мне спасибо - воспользуйтесь кнопкой "Добавить отзыв"
KingOfNothing вне форума Ответить с цитированием
Старый 12.04.2009, 15:16   #10
beemoto
Форумчанин
 
Аватар для beemoto
 
Регистрация: 11.04.2009
Сообщений: 277
По умолчанию

Пепел Феникса, ааа, всё понял.
но <a href="что угодно"> спасибо, но это лишнее можно без этого!?
токо текст между
<a href="icq.cgi"> и </a> !???
KingOfNothing, спасибо за страния ,но мне ненужны дополнительные файлы.
например немного переделав пост #7
beemoto вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг страницы Terikon Общие вопросы Delphi 3 04.04.2009 00:32
парсинг страницы seoanalyzer Общие вопросы Delphi 3 13.02.2009 12:50
Парсинг HTML страницы OkeaH Работа с сетью в Delphi 1 19.01.2009 09:17
HTML Парсинг BaikalLord Помощь студентам 5 15.12.2008 08:20