1CLenta.ru  

Разложить строку на подстроки по разделителю

Программирование системы     02.06.2016 15:17     45079

В новых версиях платформы 1С:Предприятие 8.3 существует функция встроенного языка СтрРазделить(), для разделения строки на подстроки по разделителю. Данная функция реализована в платформе 8.3.6.1977. В более ранних версиях платформы данная функция не поддерживается.

В типовых конфигурациях в общих модулях можно найти готовые функции для разделения строки. Общий модуль может называться "ОбщегоНазначения" а функция РазложитьСтрокуВМассивПодстрок().
Если нет возможности воспользоваться встроенной функций 1С языка или функцией общего модуля, то необходимо писать собственные механизмы для разделения на подстроки.

Функция РазложитьСтрокуНаПодстроки()


Строку можно разделить на подстроки, превратив ее в многострочную строку и воспользовавшись специальными функциями встроенного языка. Функция на вход принимает строку, разделяет её по разделителю и возвращает массив подстрок.

Пример
ВходящаяСтрока - "1подстрока,2подстрока,3подстрока"
Разделитель - ","
Результат - Массив(0=>"1подстрока", 1=>"2подстрока", 2=>"3подстрока")


Функция РазложитьСтрокуНаПодстроки(ВходящаяСтрока, Разделитель)

МассивСтрок = Новый Массив();
ВходящаяСтрока = СтрЗаменить(ВходящаяСтрока, Разделитель, Символы.ПС);

Для ИндексСтроки = 1 По СтрЧислоСтрок(ВходящаяСтрока) Цикл
Подстрока = СтрПолучитьСтроку(ВходящаяСтрока, ИндексСтроки);
МассивСтрок.Добавить(Подстрока);
КонецЦикла;

Возврат МассивСтрок;

КонецФункции


Также для поиска подстрок можно воспользоваться регулярными выражениями. Регулярные выражения в 1С:Предприятии реализуются с помощью COM-объектов. Благодаря этой технологии можно осуществлять поиск и замену подстрок по регулярному выражению.

Комментарии (0)