Hola Scorpion, lo que se me ocurre es esto, la función no esta bien controlada y talvez tenga varios errores, como te digo solo es una idea.
Solo toma en cuenta # para las llamadas.
Código Delphi
[-]
function Buscar(cadena, formato : String): String;
var
Indice : Integer;
sl, slFormato : TStringList;
begin
sl := TStringList.Create;
slFormato := TStringList.Create;
sl.DelimitedText := cadena;
for i:=1 to Length(cadena) do
if cadena[i] in ['0'..'9','A'..'Z'] then
cadena := StringReplace(cadena,cadena[i],'#',[rfReplaceAll]);
slFormato.DelimitedText := cadena;
Indice := slFormato.IndexOf(formato);
if Indice>=0 then
Result := sl[Indice]
else
Result := 'No existe';
end;
.....................
cadena := '11/12/08 09:45AM 126 01 2079775103 00:08''33 3040';
showmessage(Buscar(cadena, '##/##/##'));
showmessage(Buscar(cadena, '##:####'));
Saluditos