Автор: Сергей Шамайтис
Code: |
function ReplaceSub(str, sub1, sub2: string): string; var aPos: Integer; rslt: string; begin aPos := Pos(sub1, str); rslt := ''; while (aPos <> 0) do begin rslt := rslt + Copy(str, 1, aPos - 1) + sub2; Delete(str, 1, aPos + Length(sub1) - 1); aPos := Pos(sub1, str); end; Result := rslt + str; end; |
Code: |
function ReplaceStr(const S, Srch, Replace: string): string; {замена подстроки в строке} var I: Integer; Source: string; begin Source := S; Result := ''; repeat I := Pos(Srch, Source); if I > 0then begin Result := Result + Copy(Source, 1, I - 1) + Replace; Source := Copy(Source, I + Length(Srch), MaxInt); end else Result := Result + Source; until I< = 0; end; |
https://delphiworld.narod.
DelphiWorld 6.0
Code: |
{ **** UBPFD *********** by delphibase.endimus **** >> Замена в строке всех вхождений одной подстроки, на другую
Зависимости: - Автор: Евгений Валяев (RhinoFC), Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра., ICQ:55263922, Новосибирск Copyright: RhinoFC
***************************************************** }
function StrReplace(const Str, Str1, Str2: string): string; // str - исходная строка // str1 - подстрока, подлежащая замене // str2 - заменяющая строка var P, L: Integer; begin Result := str; L := Length(Str1); repeat P := Pos(Str1, Result); // ищем подстроку if P > 0then begin Delete(Result, P, L); // удаляем ее Insert(Str2, Result, P); // вставляем новую end; until P = 0; end;
|
А стандартная функция StringReplace чем не устраивает?
Автор:Vit
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!