Разложить строку в массив

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

Комментарии

Combat
#1, 20 сентября 2019 17:09

СтрРазделить(Строка, Разделитель);
СтрСоединить(Строки, Разделитель);


freelance_1C
#2, 04 ноября 2021 14:43

(1) Combat, представляешь, не во всех версиях платформы есть эти функции


См. также

РазложитьСтрокуПоТочкамИСлэшам (БСП)

РазложитьСтрокуПоискаВМассивСлов (БСП)

РазложитьСтрокуВМассивПодстрок (БСП)

РазложитьСтрокуВМассивСлов (БСП)

Разложить массив по типам объектов

CSV в массив из структур

СтрокаСообщенийПользователю (БСП)

ПолучитьУстройства (БСП)

Сравнение двух строк

Модератору