Имя: Пароль:
1C
1С v8
Множество '0'..'9'
,
0 technik-1c
 
19.04.17
12:26
Добрый день!

Подскажите, пожалуйста, есть ли возможность в 1С-ном языке (8.3)
определить принадлежит ли символ из строки множеству '0'..'9' или 'А'..'Я' ?

Спасибо.
1 Волшебник
 
модератор
19.04.17
12:28
Найти("0123456789", симв) > 0
2 dezss
 
19.04.17
12:30
Тут еще и латиница добавлена
        КодС = КодСимвола(Стр,й);
        
        Если (КодС >= 48 И КодС <= 57) или (КодС >= 65 И КодС <= 90) или (КодС >= 97 И КодС <= 122) или (КодС >= 1040 И КодС <= 1103)
            или КодС = 1025 или КодС = 1105 Тогда
3 dezss
 
19.04.17
12:32
(2) + вернее тут строчные и прописные кирилица и латиница и буква ё
от 0 до 9, думаю сам догадаешься)
4 technik-1c
 
19.04.17
12:34
КодС = 1105 <- А это Юникод?

Спасибо большое, то что нужно, хотя была надежда, что операторы множества есть.
5 b_ru
 
19.04.17
12:37
(0) Операторов множества нет - это не Паскаль. Но с кодами заморачиваться смысла так же нет. Нужно быть проще

Если МойСимвол >= "0" И МойСимвол <= "9" Тогда
КонецЕсли
6 dezss
 
19.04.17
12:39
(5) можно и так
возможно даже лучше так, наглядней...
7 Timon1405
 
19.04.17
12:43
(6) в (1) наглядней некуда
8 catena
 
19.04.17
12:43
(4)В "подобно" можно множествами.
9 Bigbro
 
19.04.17
12:45
(1) 12 - тоже будет найдено.
10 spock
 
19.04.17
12:53
(9) 12 - не символ, а строка.
11 RomaH
 
naïve
19.04.17
13:19
RegExp = Новый COMОбъект("VBScript.RegExp");
    RegExp.IgnoreCase = Истина;
    RegExp.MultiLine = Ложь; // истина — текст многострочный, ложь — одна строка
    
    RegExp.Global = Истина;
    
    //Сначала обработаем временный номер
    Если Не ЗначениеЗаполнено(Подразделение) Тогда
        RegExp.pattern = "(\d+)";
        
        Результаты = RegExp.Execute(Текст);
        
        Если Результаты.Count() > 0 Тогда
12 Timon1405
 
19.04.17
13:58
(11) открою тайну, у регэкспа есть метод Test()
МояСтрокаПодходитПодШаблон = RegExp.Test(Текст);
13 dezss
 
19.04.17
14:08
(7) наглядно, это да...
Но при большом количестве возможных символов не очень удобно, их все надо перечислять...
а так получается проверяешь на принадлежность диапазону, что и требовалось ТСу.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший