Удаление ненужных подстрок из строки
Falk0ner, вс, 06/07/2008 - 15:34.
Автор: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)
Удаление ненужных подстрок из строки
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('<брак>','Этот <брак> в моей строке, и я хочу
удалить из нее этот <брак>');
// 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
While POS(Target,string)>0 do
begin
P := POS(Target,string);
DELETE(string,P,Length(Target));
end;
Всё даже проще:
{©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 (Vitaly Nevzorov) - nevzorov@yahoo.com}
Result:=StringReplace(ИсходнаяСтрока,ТоЧтоНадоУдалить,'',[rfReplaceAll])
Автор: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)
Отправить комментарий