1С 8.3 Разложить строку в массив подстрок - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Разложить строку в массив подстрок

Данные > Примеры кода 1С > 1С 8.3 Массив
Раскладывает строку в МАССИВ подстрок согласно используемому разделителю в 1С 8.3:
Функция РазложитьСтрокуВМассивПодстрок(Знач Входящая_строка, Знач Используемый_разделитель = ",",
    Знач
ИсключитьПустыеСтроки = Неопределено)

   
//Входящая_строка          - Строка - текст с разделителями
    //Используемый_разделитель - Строка - разделитель строк текста
    //ИсключитьПустыеСтроки    - Булево - признак необходимости включения в результат пустых строк

   
Результат_Функции = Новый Массив;

   
// Для обеспечения обратной совместимости
   
Если ИсключитьПустыеСтроки = Неопределено Тогда
       
ИсключитьПустыеСтроки = ?(Используемый_разделитель = " ", Истина, Ложь);
        Если
ПустаяСтрока(Входящая_строка) Тогда
            Если
Используемый_разделитель = " " Тогда
               
Результат_Функции.Добавить("");
            КонецЕсли;
            Возврат
Результат_Функции;
        КонецЕсли;
    КонецЕсли;

   
Позиция_Стр = Найти(Входящая_строка, Используемый_разделитель);
    Пока
Позиция_Стр > 0 Цикл
       
Подстрока = Лев(Входящая_строка, Позиция_Стр - 1);
        Если Не
ИсключитьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда
           
Результат_Функции.Добавить(Подстрока);
        КонецЕсли;
       
Входящая_строка = Сред(Входящая_строка, Позиция_Стр + СтрДлина(Используемый_разделитель));
       
Позиция_Стр = Найти(Входящая_строка, Используемый_разделитель);
    КонецЦикла;

    Если Не
ИсключитьПустыеСтроки Или Не ПустаяСтрока(Входящая_строка) Тогда
       
Результат_Функции.Добавить(Входящая_строка);
    КонецЕсли;

    Возврат
Результат_Функции;

КонецФункции
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 21.09.2020
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому