Условия задачи

К примеру есть строка типа «Красный / Синий / Зеленый / Желтый / Фиолетовый». Необходимо разбить данную строку на значения между «/» и записать значения в массив. Стоить учесть, что разделитель может состоять из нескольких символов.

Пример программного кода

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