...
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. Выводим результат.