Удаление ненужных подстрок из строки |
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
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
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)