Имя: Пароль:
1C
1С v8
вычленить цифры из строки
0 LouRENs
 
30.09.11
09:30
Есть наименование договора типа "Основной договор бла бла  2312312"

Вот надо взять отсюда только "2312312", есть какая-нибудь функция это делающая ?
Заранее спасибо!
1 Fragster
 
гуру
30.09.11
09:31
регулярное выражение \d+
2 tertva_1C
 
30.09.11
09:34
как вариант http://help1c.com/faq8/view/586.html
3 kible
 
30.09.11
09:34
Пользуйся.

Функция ТолькоЦифрыИзСтроки(Знач СтрокаПроверки, УчитыватьЛидирующиеНули = Истина, УчитыватьПробелы = Истина) Экспорт    
   
   Если ТипЗнч(СтрокаПроверки) <> Тип("Строка") Тогда
       Возврат 0;
   КонецЕсли;
   
   Если НЕ ЗначениеЗаполнено(СтрокаПроверки) Тогда
       Возврат 0;
   КонецЕсли;
   
   Если НЕ УчитыватьПробелы Тогда
       СтрокаПроверки = СтрЗаменить(СтрокаПроверки, " ", "");
   КонецЕсли;
   
   Стр = "";
   Для а = 1 По СтрДлина(СтрокаПроверки) Цикл
       КодСимвола = КодСимвола(Сред(СтрокаПроверки, а, 1));
       Цифра = Сред(СтрокаПроверки, а, 1);
       Если (КодСимвола >= 48 И КодСимвола <= 57) Тогда
           Стр = Стр + Цифра;
       КонецЕсли;
   КонецЦикла;

   Если НЕ УчитыватьЛидирующиеНули Тогда
       Стр = Число(Стр);
   КонецЕсли;
   
   Возврат Стр;
   
КонецФункции
4 guitar_player
 
30.09.11
09:36
(0) А если будет "Дополнительное соглашение № 1 к основному договору 1бла бла  2312312", то что нужно будет получить?
5 LouRENs
 
30.09.11
09:57
Вот спасибо!
6 LouRENs
 
30.09.11
09:57
Есть еще хорошие люди))
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший