Podrias usar una expresion regular o simplemente implementar un "analisis de lexico" que es una forma eficiente y simple de implementar un parser muy basico (que aplica a este caso).
Hay todo un tutorial de esto en
https://en.wikibooks.org/wiki/Compil...xical_analysis
Ajustarlo se ve simple. Como sea, es solo recurrer caracter por caracter, detectar si los caracteres que interesan y acumular lo demas, que parece aun mas simple en tu caso:
En pseudocodigo:
Código Delphi
[-]
procedure scan(text:String Or TextStream; beginChar, endChar:Char):String
begin
result = ""
for char in text
begin
if char == beginChar
begin
for nextChar in text
begin
if nextChar ==endChar
advanceOne break
end
end
result = result + char
end
return result
end