Условия задачи
К примеру есть строка типа «Красный / Синий / Зеленый / Желтый / Фиолетовый». Необходимо разбить данную строку на значения между «/» и записать значения в массив. Стоить учесть, что разделитель может состоять из нескольких символов.
Пример программного кода
&НаСервере Функция РазбитьСтрокуРазделителем(Знач ПервичныйТекст, СимволРазделитель = "/") Экспорт // ПервичныйТекст = "Красный / Синий / Зеленый / Желтый / Фиолетовый" ПереченьСтрок = Новый Массив(); Если СимволРазделитель = " " Тогда // если разделяем пробелами ПервичныйТекст = СокрЛП(ПервичныйТекст); Пока 0 = 0 Цикл Расположение = Найти(ПервичныйТекст, СимволРазделитель); Если Расположение = 0 Тогда // если разделитель не найден - возвращаем значение ПереченьСтрок.Добавить(ПервичныйТекст); Возврат ПереченьСтрок; КонецЕсли; ПереченьСтрок.Добавить(Лев(ПервичныйТекст, Расположение - 1)); // режем строку и добавляем текст в массив ПервичныйТекст = СокрЛ(Сред(ПервичныйТекст, Расположение)); // корректируем первичный текст КонецЦикла; Иначе ДлинаРазделителя = СтрДлина(СимволРазделитель); Пока 0 = 0 Цикл Расположение = Найти(ПервичныйТекст,СимволРазделитель); Если Расположение = 0 Тогда // если разделитель не найден - возвращаем значение ПереченьСтрок.Добавить(ПервичныйТекст); Возврат ПереченьСтрок; КонецЕсли; ПереченьСтрок.Добавить(Лев(ПервичныйТекст, Расположение - 1)); // режем строку и добавляем текст в массив ПервичныйТекст = Сред(ПервичныйТекст, Расположение + ДлинаРазделителя); // корректируем первичный текст КонецЦикла; КонецЕсли; КонецФункции
Оставить комментарий