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

Материал из DRKB

Удаление ненужных подстрок из строки[править | править код]

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('<брак>', 'Этот <брак> в моей строке, и я хочу
удалить из нее этот <брак>');


Source: http://delphiworld.narod.ru
ID: 00900


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

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


Target := '<брак>';
while Pos(Target, string) > 0 do
begin
  P := Pos(Target, string);
  Delete(string, P, Length(Target));
end;


Source: http://delphiworld.narod.ru
ID: 00901



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

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


Author: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)
ID: 00902