Рассмотрим две функции, позволяющие получить числа из строки:

  • ПолучитьСтрокуТолькоПервыеЦифры — в результате строка из первых цифр строки,
  • ПолучитьСтрокуТолькоЦифры — в результате строка из всех цифр строки.

 

Функция ПолучитьСтрокуТолькоПервыеЦифры(ЗНАЧ ВходнаяСтрока)
                РезультатТолькоПервыеЦифры = "";
               
                ИндексЭлемента = 1;  
                ДоступныеСимволы = "0123456789";
               
                Пока ИндексЭлемента <= СтрДлина(ВходнаяСтрока) Цикл
                               ПроверяемыйСимвол = Сред(ВходнаяСтрока, ИндексЭлемента, 1);
                              
                               Если СтрНайти(ДоступныеСимволы, ПроверяемыйСимвол) = 0 Тогда
                                               Если ЗначениеЗаполнено(РезультатТолькоПервыеЦифры) Тогда
                                                               Прервать;
                                               КонецЕсли;
                                              
                                               ВходнаяСтрока = СтрЗаменить(ВходнаяСтрока, ПроверяемыйСимвол, "");
                                              
                                               Продолжить;
                               Иначе
                                               РезультатТолькоПервыеЦифры = РезультатТолькоПервыеЦифры + ПроверяемыйСимвол;
                               КонецЕсли;
                              
                               ИндексЭлемента = ИндексЭлемента + 1;
                КонецЦикла;
               
                Возврат РезультатТолькоПервыеЦифры;
КонецФункции
Функция ПолучитьСтрокуТолькоЦифры(ВходнаяСтрока)     
                Результат = ВходнаяСтрока;   
               
ИндексЭлемента = 1;  
                ДоступныеСимволы = "0123456789";
               
                Пока ИндексЭлемента <= СтрДлина(Результат) Цикл
                               ПроверяемыйСимвол = Сред(Результат, ИндексЭлемента, 1);


                               Если СтрНайти(ДоступныеСимволы, ПроверяемыйСимвол) = 0 Тогда
                                               Результат = СтрЗаменить(Результат, ПроверяемыйСимвол, "");
                                               Продолжить;
                               КонецЕсли;


                              ИндексЭлемента = ИндексЭлемента + 1;
                КонецЦикла;
               
                Возврат Результат;      
КонецФункции