Имя: Пароль:
1C
 
Как программно найти конструкцию в строке?
,
0 Мисти
 
27.11.18
13:39
По назначению платежа нужно найти номер счета.
Хотела отталкиваться от "по счету №", но чего там только не пишут! Уже 20 вариантов разобрала, а они всё новые придумывают.
Может, сам счет искать? Он такой - ХХ/ХХ/ХХ/ХХХХХХ
Вот если бы по "/" искать, и расстоянию между ними?
1 palsergeich
 
27.11.18
13:43
(0) 1) Посмотреть в сторону regexp, это задача на них
Написать при помощи встроенного кода эмуляцию regexp
2 IvanGorbunov
 
27.11.18
13:44
(1) или если без регулярок, то задание на программирование в чистом виде.
3 IvanGorbunov
 
27.11.18
13:44
(2) ищите, находите, считаете, отбрасываете, идете дальше
4 Кирпич
 
27.11.18
14:26
Функция НайдиНомер(Стр)
    поз = СтрНайти(Стр,"/");
    Если поз > 0 Тогда
        Для А = поз по СтрДлина(Стр) цикл
            Если (Сред(Стр,А,1) = "/") И
                (Сред(Стр,А+3,1) = "/") И
                (Сред(Стр,А+6,1) = "/") Тогда
                Возврат Сред(Стр,А-2,15);
            КонецЕсли;            
        КонецЦикла;
    КонецЕсли;    
    Возврат "";
КонецФункции
5 Кирпич
 
27.11.18
14:33
Когда уже в 1с регулярки добавят. Уже сил никаких нету.
6 hhhh
 
27.11.18
14:33
(0) ну, задача просто на сбор статистики. Недостаточно 20 вариантов, сделайте 40. У меня так и есть. Появляется какое-то новое назначение платежа, дописываю.

Более того, уже обрабатываю строки типа По счету № 1, 2, 3,  то есть когда по нескольким счетам сразу платят.
7 VS-1976
 
27.11.18
14:54
(5) Регулярки есть в ограниченном количестве в запросе
8 Гипервизор
 
27.11.18
15:06
(5) Инструменты разработчика в помощь.
Кстати, можно примеры жизненной необходимости регулярок в 1С, да такой, что вот прям нет сил?
9 xaozai
 
27.11.18
15:08
10 Кирпич
 
27.11.18
15:15
(9) да про эту матню все знают
11 Кирпич
 
27.11.18
15:18
(8) "Кстати, можно примеры жизненной необходимости регулярок в 1С"
постоянно на форуме кому то надо. да и во всех языках есть. мы чему хуже
12 Мисти
 
27.11.18
15:53
Кирпич, спасибо, может, так вернее получится.
13 Мисти
 
27.11.18
15:53
Отлично, кстати, сработало, спасибо еще раз!
14 AlvlSpb
 
27.11.18
15:58
(13) Отлично, что (4) сработало, но рекомендую прислушаться к советам и разобраться с регулярными выражениями. СТОЛЬКО проблем работы со строками окажутся быстро и легко решаемыми!
15 Кирпич
 
27.11.18
16:02
(14) ага. полдня регулярку выдумываешь, а потом всё быстро решается :)
16 quest
 
27.11.18
16:04
(0) Посмотри на PEG - может лучше его использовать.
(14) “У вас есть проблема. Вы решили использовать регулярные выражения чтобы её решить. Теперь у вас две проблемы.” Для (0) регулярки - не выход, а только усложнение задачи.
17 Кирпич
 
27.11.18
16:07
(16) Для (0) регулярки - не выход, а только усложнение
Да прям. Как раз для регулярок.