HelpF.pro

Функция преобразования строки вида "ДебиторкаПоКонтрагентам" в "Дебиторка по контрагентам"

Примеры кода для 7 версии, но будут работать и в 8-ой

Код 1C v 7.x
  Функция мРазнПреобразоватьСтрокуСБольшимиБуквами(ИсходнаяСтрока) Экспорт

СтрокаВозврата = Сред(ИсходнаяСтрока, 1, 1);

Для Сч = 2 По СтрДлина(ИсходнаяСтрока) цикл
ПредСимвол = Сред(ИсходнаяСтрока, Сч - 1, 1);
ТекСимвол = Сред(ИсходнаяСтрока, Сч, 1);
СледСимвол = Сред(ИсходнаяСтрока, Сч + 1, 1);

Если ВРЕГ(ТекСимвол) = ТекСимвол тогда
Если ВРЕГ(ПредСимвол) <> ПредСимвол тогда
СтрокаВозврата = СтрокаВозврата + " ";
Если ВРЕГ(СледСимвол) <> СледСимвол тогда
ТекСимвол = НРЕГ(ТекСимвол);
КонецЕсли;
КонецЕсли;
КонецЕсли;

СтрокаВозврата = СтрокаВозврата + ТекСимвол;

КонецЦикла;

Возврат СтрокаВозврата;

КонецФункции // мРазнПреобразоватьСтрокуСБольшимиБуквами()


А таким кодом, просто перед большой буквой выставляется пробел:
Код 1C v 7.x
 
Список=новый СписокЗначений;
Для н=КодСимвола("А") По КодСимвола("Я") Цикл
Список.Добавить(Символ(н));
КонецЦикла;
Значение="ДебиторкаПоКонтрагентам";
Результат="";
Для н=1 По СтрДлина(Значение) Цикл
Сим=Сред(Значение,н,1);
Если Список.НайтиПоЗначению(Сим) <> Неопределено Тогда
Сим=" "+Сим;
КонецЕсли;
Результат=Результат+Сим;
КонецЦикла;
Сообщить(Результат);

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq7/view/169.html