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

Previous  Top  Next

    
 

 

Code:

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('<брак>','Этот <брак> в моей строке, и я хочу

удалить из нее этот <брак>');

 

©Drkb::00900

http://delphiworld.narod.ru/

DelphiWorld 6.0

 


Используйте стандартную функцию Pascal DELETE...

Пользуясь тем же примером, вы можете сделать так....

 

Code:

Target:='<брак>';

While POS(Target,string)>0 do

begin

P := POS(Target,string);

DELETE(string,P,Length(Target));

end;

©Drkb::00901

http://delphiworld.narod.ru/

DelphiWorld 6.0

 


 

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

 

Code:

{©Drkb v.3(2007): www.drkb.ru,

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

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

©Drkb::00902

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