Я обычно использую эту функцию:
function TailOf(const Input, Delimiter : String) : String;
var
P : Integer;
begin
P := Pos(Delimiter, Input);
if P > 0 then
Result := Copy(Input, P + Length(Delimiter), MaxInt)
else
Result := '';
end;
var
S : String;
S := 'ab{cd}def';
S := TailOf(S, '{cd}');
// S now = 'def'
Pos
и Copy
- это стандартные функции RTL, которые вы можете посмотреть в OLH.
У меня также есть дополнительная функция , HeadOf
, которая возвращает содержимое строки до, но не включая разделитель, или всю строку, если разделитель не найден.