...
var
  AText: string;
  i: integer;
  AMin: integer;
  AList: TStrings;
begin
  AList := TStringList.Create;
  try
    AList.Text := StringReplace (AText, ' ', #13, [rfReplaceAll]);
    AMin := 0;
    for i := 0 to AList.Count - 1 do 
      if Length (AList [i]) < Length (AList [AMin]) then
        AMin := i;
  finally
    AList.Free;
  end;
  ShowMessage (AList [AMin]);
end;
код не тестил, бо дома живу под линухами, но смысл понятен, я думаю:
1. Все пробелы в строке меняем на Ентеры.
2. Засовываем всё в стринглист - имеем список всех групп.
3. Считаем самой короткой первую группу (т.е. нулевую)
4. В цикле сравниваем, если какая-то группа ещё меньше - делаем самой короткой её.
5. Выводим результат.