Вниз
Скачать: CL | DM;

не получается работа со строкой   Найти похожие ветки 

 
Рашид   (2006-06-03 11:21) [0]

привет мастерам,помогите разобраться не пойму в чем ошибка
в мемо находится html код,данный код выдерает из мемо ссылку:
var
i: integer;
s,f:string;
begin
s:="href="http://";
i := Pos(s,memo1.Text);
f:=Copy(Memo1.text, i+length(s) , i+length(s));
Delete(f,pos("/"",f),i);
label1.Caption:=f;
end;
но выдерает первую попавшиюся,пытаюсь выдернуть все ссылки не получается:( в чем ошибка?

var
i: integer;
s,f:string;
begin
s:="href="http://";
i := Pos(s,memo1.Text);
while i >0 do
begin
f:=Copy(Memo1.text, i+length(s) , i+length(s));
Delete(f,pos("/"",f),i);
end;
label1.Caption:=f;
i := Pos(s,memo1.Text);
end;


 
Mr tray   (2006-06-03 11:28) [1]


> выдерает первую попавшиюся

Вообще, по-моему, pos ищет первую попавшуюся комбинацию символов

> Copy(Memo1.text, i+length(s) , i+length(s))

к символам строки можно обращаться, как к элементам массива (memo1.text[i+length(s)])


 
Mr tray   (2006-06-03 11:33) [2]


> > Copy(Memo1.text, i+length(s) , i+length(s))к символам
> строки можно обращаться, как к элементам массива (memo1.
> text[i+length(s)])


простите. третий аргумент функции copy это count, а не index2. обшибся :)


 
Loginov Dmitry ©   (2006-06-03 11:34) [3]

В данном случае целесообразно использовать регулярные выражения. В Дельфи для этого существует класс TRegExpr (легко отыскивается в Интернете).


 
Mr tray   (2006-06-03 12:04) [4]

const
 cs1="href="http://";
 cs2="/"";
var
 i2,i,n:cardinal;
 ar:array of string;
 s:string;
begin
 s:="href="http://delphigfx.mastak.ru/"    oijiojioj href="http://www.kolnmck.ru/" yugyug   yuguygyug  uyguyg href="http://www.delphimaster.ru/cgi-bin/"";
 i2:=1;
 i:=1;
 n:=0;
 repeat begin
   i:=pos(cs1,s);
   if i>0 then begin
     s:=copy(s,i,length(s)-i+1);
     i2:=pos(cs2,s);
     inc(n);
     setlength(ar,n);
     ar[n-1]:=copy(s,1,i2+1);
     s:=copy(s,i2+2,length(s)-i2+1);
   end;
 end until i<=0;
 for i:=0 to high(ar) do
   writeln(ar[i]);
 readln;

end.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
2-1149559496
Василий
2006-06-06 06:04
2006.06.25
Прозрачность Textout


3-1146121628
Ильичев С.А.
2006-04-27 11:07
2006.06.25
SELECT после INSERT


15-1148872897
DmiSb
2006-05-29 07:21
2006.06.25
Можно ли уменьшить размер vcl50.bpl ,


15-1149086118
iamn00b
2006-05-31 18:35
2006.06.25
доходчиво про базу данных пж


2-1149567037
Id
2006-06-06 08:10
2006.06.25
Загрузка из *.doc или *.rtf




   Наверх