Разбиение строки на левую и правую часть
Пример функции с разбиением строки на части.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
Функция РазбитьСтроку(ИсходнаяСтрока, СтрокаРазделитель, ОбрезатьПробелы = Истина) поз = Найти(ИсходнаяСтрока, СтрокаРазделитель); ДлинаРазделителя = СтрДлина(СтрокаРазделитель); Разбито = поз > 0; ЛеваяЧастьСтроки = Лев(ИсходнаяСтрока, поз - 1); Если ОбрезатьПробелы Тогда ЛеваяЧастьСтроки = СокрЛП(ЛеваяЧастьСтроки); КонецЕсли; ПраваяЧастьСтроки = Сред(ИсходнаяСтрока, поз + ДлинаРазделителя); Если ОбрезатьПробелы Тогда ПраваяЧастьСтроки = СокрЛП(ПраваяЧастьСтроки); КонецЕсли; СтруктураЧастиСтроки = Новый Структура("Левая, Правая, Разбито" , ЛеваяЧастьСтроки , ПраваяЧастьСтроки , Разбито); Возврат СтруктураЧастиСтроки; КонецФункции //Парсинг строки вида "дд.мм.гггг": Результат = Дата(1,1,1); СтруктураЧастиСтроки = РазбитьСтроку(ЗначениеЯчейки, "."); Если СтруктураЧастиСтроки.Разбито Тогда ст_дд = Прав(СтруктураЧастиСтроки.Левая, 2); чс_дд = Число(ст_дд); СтруктураЧастиСтроки = РазбитьСтроку(СтруктураЧастиСтроки.Правая, "."); Если СтруктураЧастиСтроки.Разбито Тогда ст_мм = Прав(СтруктураЧастиСтроки.Левая, 2); чс_мм = Число(ст_мм); ст_гггг = Лев(СтруктураЧастиСтроки.Правая, 4); чс_гггг = Число(ст_гггг); Результат = Дата(чс_гггг, чс_мм, чс_дд); КонецЕсли; КонецЕсли; Возврат Результат; |
Если у Вас появились вопросы по статье или остались нерешенные проблемы обсудить их Вы можете на Форуме 1С Вопросы и ответы
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.