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