Имя: Пароль:
1C
1С v8
v8: Как узнать встречается ли буква в строке?
0 Галахад
 
гуру
18.10.11
10:27
Нужно проверить реквизт "Код" справочника "Контрагенты".
Цель узнать есть ли там буквы.

Я вижу два варианта.

1. Попытка преобразования в число.
2. Проверка каждого символа на диапазон кода символа.

Оба мне не очень нравятся.
1 andrewks
 
18.10.11
10:28
а почему?
2 Галахад
 
гуру
18.10.11
10:30
(1) Да коряво как-то.
3 SuperMario
 
18.10.11
10:30
(0) в типовых конфах уже все есть.


// Функция проверяет наличие в строке только цифр
//
// Параметры
//  СтрокаПроверки - Строка для проверки только цифр
//
// Возвращаемое значение:
//   Булево
//
Функция ТолькоЦифрыВСтроке(Знач СтрокаПроверки, УчитыватьЛидирующиеНули = Истина, УчитыватьПробелы = Истина) Экспорт
...
...

КонецФункции
4 chelentano
 
18.10.11
10:31
(2) цикл от 0 до 9, в цикле СтрЗаменить на "", если после цикла длина строки больше нуля, значит буквы есть
5 Фокусник
 
18.10.11
10:31
(0) еще можно поиск каждого символа в строке (или в массиве) нужных символов
6 Рэйв
 
18.10.11
10:31
СтрЗначение=СокрЛП(СтрЗначение);
Для Н=0 По  9 Цикл
    СтрЗначение=стрЗаменить(СтрЗначение,Строка(Н),"");
КонецЦикла

Если СтрДлина(СтрЗначение)>0 Тогда
  Сообщить("Есть буквы или пробелы:"+СтрЗначение);
КонецЕсли;
7 Wobland
 
18.10.11
10:33
(4) пробел, знаки препинания и т.п. являются буквами?
8 Рэйв
 
18.10.11
10:33
(7)Вроде это не числа
9 chelentano
 
18.10.11
10:34
(7) так в коде вроде не должно быть ерунды всякой :) ну, значит, как в (3)
10 Defender aka LINN
 
18.10.11
10:36
Регулярные выражения
11 Галахад
 
гуру
18.10.11
10:47
Всем спасибо.
Закон Брукера: Даже маленькая практика стоит большой теории.