Как выбрать из числа с префиксом число ? #683896


#0 by yavasya
Есть номера документов БДЕ000056 мне надо взять 56 для вычислений Числом получить знаю Х=0+переменная; номера документов можно достать без префикса процедурой сведения о физ.юрлице, но хочу научиться отделять буквы от цифр
#1 by Rie
Циклом бежишь по строке и смотришь - буква в этом месте или цифра.
#2 by Чайник Рассела
Найти
#3 by vde69
число(сред("БДЕ000056",4))
#4 by 1Сергей
#5 by elCust
Если префикс всегда одинаковый, то СтрЗаменить
#6 by Aleksey T
а букв всегда 3? Номер=БДЕ000056;
#7 by Рэйв
#8 by Rie
Не взлетит. Контрпример - "ФФФ111ЫЫЫ222".
#9 by Рэйв
Ну да... это я немного для другого писал:-) Значит надо до первой цифры, а потом резать
#10 by IamAlexy
циклом с последнего символа и пока это цифра - собираешь цифру.. самый надежный способ.
#11 by Rie
Смотря какое из чисел надо выбрать - первое или последнее.
#12 by IamAlexy
ну если пошла такая пьянка то регэкспом сформировать массив вхождений чисел и затем обрабатывать либо первое значение массива либо последнее
#13 by БледноЗолотистый
Вообще есть типовая функция - ПолучитьНомерНаПечать
#14 by rmrush
Можете отбирать символы по их коду, у чисел диапазон кодов в пределах [48;57]
#15 by Rie
Можно и так :-)
#16 by Sabbath
+1 недавно тема была
#17 by IamAlexy
фиг там.. ты на выходе получиш 091292 а нужно 92 :) нужно в условие добавить иначе Результат = "";
#18 by IamAlexy
+ ну или если первое нужно, то есть 0912 то прерывать цикл..
#19 by rmrush
То есть первая часть считается префиксом от того, что есть буквы?
#20 by yavasya
номернапечать знаю что - то универсальное надо для работы с числами и буквами
#21 by yavasya
#22 by rmrush
Ну в этом случае, можно при каждом натыкании на букву зачищать результат, и все будет ок :)
#23 by IamAlexy
вообще то да. префиксом считается все то что слева от числа. то есть смотришь справа, пока цифры - это числовое значение номера до первой буквы - и далее идет прфикс.. многие бухи накалываются на приколе с номреами типа 00000000001/1 им система кстати радостно  до 000000001/9 доводит номер и вуаля - далее номер неуникальный
#24 by Wobland
>надо взять 56 для вычислений первый палец правой руки ставлю на то, что вычисления неправильный
#25 by Aleksey T
а если так(неуверен в правильности): Чур не проклинать меня и слать порчу))))
#26 by yavasya
Длина=СтрДлина(Номер) (номер) что за переменная ? номер=номерДокумента ?
#27 by Rie
Номер - это твоя строка, из которой число извлекаешь.
#28 by Serg_1960
А слабо придумать и озвучить самый лаконичный алгоритм выделения цифровой части для строки вида "ПрефиксЦифрыСуффикс", где префикс и суффикс - произвольный набор символов?
#29 by yavasya
не работает, выводит с префиксом
#30 by Aleksey T
Четверг((((((
#31 by Rie
Неправда.
#32 by Serg_1960
Ну, я так и говорю: "Завтра, ближе к вечеру, если будет время - посижу, подумаю" :))
#33 by yavasya
не работает Встроенная функция может быть использована только в выражении. (Число)             Число<<?>>(Лев(Номер,инд)); (Проверка: Толстый клиент (обычное приложение))
#34 by Rie
И ведь действительно - Число можно использовать только в выражении. А у Вас оно используется как оператор. Но вообще-то код несколько загадочный. Зачем такие извращения?  Чуть измените код из - выходите из цикла по первой не-цифре после цифры - и наступит счастье.
#35 by yavasya
#36 by yavasya
прошу прощения, работает
#37 by Rie
Здесь Вы получите "091292". Вам надо это? Или "0912"?
#38 by yavasya
#39 by yavasya
код очень понравился универсальный
#40 by Rie
Вопрос в другом. Вам _конечные_ цифры, которые после букв после цифр идут - нужны?
#41 by yavasya
конечные цифры нужны. спасибо за помощь
#42 by yavasya
Если КодСимвола(ТекСимвол) <= 57 И КодСимвола(ТекСимвол) >= 48 думаю буду часто использовать
#43 by Aleksey T
ну присвоить какой нибудь переменной и не будет проблемы) А вообще я уже здесь просто запутался что хотят в итоге из чего что)
#44 by 1Сергей
проще писать Если ТекСимвол <= "9" И ТекСимвол >= "0"
#45 by Rie
А зачем? Это ж жутко неэффективная конструкция по природе своей (я имею в виду подобный способ выделения числа, а не присваивание).
#46 by yavasya
Тогда какой самый лучший способ выделения числа ?
#47 by 1Сергей
Какого числа ? Первого, последнего, среднего. Задавай правильные вопросы, если хочешь получить правильные ответы
#48 by yavasya
455ывывыв481вывыв61111 - любого числа
#49 by Wobland
какого?
#50 by yavasya
из текста содержащие буквы и числа выбрать числа
#51 by Rie
У тебя уже есть хороший способ. Используй его.
#52 by Aleksey T
ну тут уже куча разных методов, выбирай - не хочу. я вот свой поправил:
#53 by Rie
А зачем использовать Число в Попытка? Это же долго.
#54 by Aleksey T
Тогда так: ))))))))))))))))
#55 by Лефмихалыч
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С