Удаляем крайние пробелы и приводим регистр, но не меняем смысл самого кода.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Правило задачи: регистр и крайние пробелы несущественны.
Код задан строкой; не преобразовывайте 01 в число.
ВведённыйКод = " a-01 ";
Код = ВРег(СокрЛП(ВведённыйКод));
Сообщить(Код);
Сообщить(СтрДлина(Код));
Сообщить(Лев(Код, 1));
Сообщить(Прав(Код, 2));
Сообщить(Сред(Код, 3, 2));
Сообщить(СтрЗаменить(Код, "-", ""));Разбор по шагам
СокрЛП удаляет пробелы по краям; ВРег приводит к верхнему регистру.
Лев, Прав и Сред извлекают фрагменты, позиция Сред начинается с 1.
СтрЗаменить демонстрирует отдельное преобразование копии строки.
Как проверить результат
Результаты: A-01; 4; A; 01; 01; A01.
Проверьте a-001: ведущие нули сохраняются.
Ожидаемый результат
Нормализованный код A-01.
На что обратить внимание
Не удаляйте дефисы из реального идентификатора без договора обмена.
Для регистрозависимых ключей нельзя применять ВРег.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.