Sky1C

Разделы каталога

Товар дняХиты продажПереносы данных 1СПродукты и лицензии 1СПрочий Софт

Информация

О насИнтересноеДоставка и оплатаКонтакты

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

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

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

Читайте также

Отбор по виду документа в запросе · Перебор строк динамического списка в 1С 8 · Сортировка по любому реквизиту в форме списка 1С 8 · Строка неограниченной длины в запросе