Удаление ненужных подстрок из строки

Удаление ненужных подстрок из строки

procedure RemoveInvalid(what, where: string): string;
// what - удаляемая подстрока, where - обрабатываемая строка
var
 tstr: string;
begin
 tstr:=where;
 while pos(what, tstr)>0 do
  tstr:=copy(tstr,1,pos(what,tstr)-1) +
 copy(tstr,pos(what,tstr)+length(tstr),length(tstr));
 Result:=tstr;
end;


//Применение:

NewStr:=RemoveInvalid('<брак>','Этот <брак> в моей строке, и я хочу
удалить из нее этот <брак>'
);

http://delphiworld.narod.ru/ DelphiWorld 6.0 Используйте стандартную функцию Pascal DELETE... Пользуясь тем же примером, вы можете сделать так....

Target:='<брак>';
While POS(Target,string)>0 do
begin
 P := POS(Target,string);
 DELETE(string,P,Length(Target));
end;
http://delphiworld.narod.ru/ DelphiWorld 6.0

Всё даже проще:

{©Drkb v.3(2007): <a href="http://www.drkb.ru" title="www.drkb.ru">www.drkb.ru</a>,

 ®Vit (Vitaly Nevzorov) - nevzorov@yahoo.com}


Result:=StringReplace(ИсходнаяСтрока,ТоЧтоНадоУдалить,'',[rfReplaceAll])

Автор: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...