|
v7: Как выделить дату и сумму из строки? | ☑ | ||
---|---|---|---|---|
0
Gal4onok
22.02.12
✎
20:21
|
Подскажите пожалуйста, как в строке найти дату и сумму. строка может быть разная.
Например: "ООО Фирма Улица 4. Согласно реестра торговых операций. Мерчант № 8989898989. Дата реестра 17.02.2012. Комиссия 5.47. НДС не облагается" |
|||
1
andrewks
22.02.12
✎
20:22
|
ключевые слова + Найти() + Сред()
|
|||
2
aleks-id
22.02.12
✎
20:23
|
+(1) искать "Дата реестра ", ". Комиссия" и ". НДС"
|
|||
3
Gal4onok
22.02.12
✎
20:24
|
а как?
|
|||
4
Deon
22.02.12
✎
20:26
|
(3) А в каком конкретно месте возникает трудность?
|
|||
5
aleks-id
22.02.12
✎
20:28
|
(3) ну ты ваще...
ПозицияДатыРеестра = Найти(СтрокаПоиска,"Дата реестра ")+13; НайденнаяДата = Сред(СтрокаПоиска,ПозицияДатыРеестра,10); |
|||
6
Gal4onok
22.02.12
✎
20:30
|
а как мне сделать, если есть комиссии за рко, чтобы эти строкине попадали?
|
|||
7
Deon
22.02.12
✎
20:31
|
Вообще, в (0) услови
|
|||
8
Deon
22.02.12
✎
20:31
|
блин
|
|||
9
andrewks
22.02.12
✎
20:32
|
(6) а ты точно мужик?
|
|||
10
Deon
22.02.12
✎
20:32
|
Вообще, в (0) условий задачи маловато. Насколько разными могут быть строки?
А в (6) не совсем понятно, а точнее совсем не понятно, куда не должны попасть эти строки? |
|||
11
Deon
22.02.12
✎
20:33
|
(9) Судя по предыдущим темам, она не мужик
|
|||
12
andrewks
22.02.12
✎
20:34
|
тогда фоту в студию
|
|||
13
Gal4onok
22.02.12
✎
20:35
|
(9) точно нет...
(10) если более контретно- это зачисление денег при оплате банковскими картами, строки разные в зависмости от фирмы и торговых точек. в выписке есть комиссии за рко- и эти данные не должны попадать в обработку |
|||
14
andrewks
22.02.12
✎
20:36
|
тэк-тэк-тэк. точно, я вспомнил, когда я в прошлый раз помогал ТС, пол был женский, и фота такая была романтическая, чёрно-белая. некрасиво вводить общественность в заблуждение
|
|||
15
Deon
22.02.12
✎
20:37
|
(13) Ну у тебя, скорее всего, цикл, в котором ты бежишь по строкам
И ты правда не знаешь как не выполнять обработку строки, в которой встречается надпись "рко" ? |
|||
16
Gal4onok
22.02.12
✎
20:39
|
(14) почему то слетели настройки в карточке) значит фоту можно не выкладывать?)
(15) у меня не получается. строки разные -я ж не могу все варианты перебирать |
|||
17
Deon
22.02.12
✎
20:39
|
(16) нельзя
|
|||
18
Deon
22.02.12
✎
20:41
|
Я так понимаю, что ты пытаешься сделать интеллектуальный парсер строк "Назначение платежа", который заполняется без всяких правил по личному усмотрению кого-попало
|
|||
19
Gal4onok
22.02.12
✎
20:42
|
да.но заполняются в банке- и каждый раз назначение может отличаться.
|
|||
20
andrewks
22.02.12
✎
20:44
|
печалька. тогда дата может быть как "17.02.2012", "17.02.12", "17,02,12", "17/02/12", и даже "17 фев 2012"
|
|||
21
ПесняПроЗайцев
22.02.12
✎
20:44
|
(19) качай права в банке о правильном заполнении пункта "Назначение". Бывают чудеса.
|
|||
22
ПесняПроЗайцев
22.02.12
✎
20:45
|
(20) да дату вообще могут никакими сопутствующими словями не сопроводить. ппц парсеру.
|
|||
23
Deon
22.02.12
✎
20:46
|
(20) К счастью, вариантов конечное число и здесь можно поизвращаться, но таки выловить даже 17/II/12
|
|||
24
Gal4onok
22.02.12
✎
20:46
|
и суммой тоже
|
|||
25
andrewks
22.02.12
✎
20:47
|
чё-то без фото не думается...
|
|||
26
Deon
22.02.12
✎
20:47
|
А вот с суммой полная Ж. В примере из (0) сумму 4 можно брать с таким же успехом, как и 5,47
|
|||
27
andrewks
22.02.12
✎
20:49
|
(26) ну, если допустить, что слово "комиссия" ключевое, то всё не так уж плохо.
|
|||
28
Deon
22.02.12
✎
20:51
|
(19) Приведи ещё примеры, отличающиеся от 0
|
|||
29
Gal4onok
22.02.12
✎
20:54
|
"ХХХ, Ул. 6. Согласно реестра торговых операций. Мерчант № 656565656566. Дата реестра от 17.02.2012.Комиссия 16.83. Без НДС"
|
|||
30
Gal4onok
22.02.12
✎
20:54
|
(25) ты ж видел уже?! не грузиться через радикал, а в карточку не помещаеться
|
|||
31
Gal4onok
22.02.12
✎
20:55
|
"ООО ХХХ, Улица 6. Согласно реестра торговых операций. Мерчант № 656565656566. Дата от 17.02.2012.Комиссия 16.83. Без НДС"
|
|||
32
andrewks
22.02.12
✎
20:56
|
(30) на прекрасное я могу смотреть по много раз. а почему не помещается в карточку? не может быть
|
|||
33
Deon
22.02.12
✎
20:56
|
(31) Правильно ли я понимаю, что в любом случае есть слово "дата", за которым где-то написана сама дата и всегда есть слово "комиссия"?
|
|||
34
aka AMIGO
22.02.12
✎
20:57
|
"автоматизация бардака имеет своим результатом автоматизированный бардак" © все.
(28) ключевая фраза ""строка может быть разная."", т.е. дата есть -> даты нет, сумма есть -> суммы нет. в принципе задача может быть решена, но усилия, затраченные на её решение, не стоят самой задачи.. ИМХО - ничего личного.. ЗЫ. решение практически уже есть - (1),(5), с учетом (20) и + СП под рукой. ЗЗЫ. (0) ты хотя-бы начала кодить алгоритм поиска? приведи код |
|||
35
Deon
22.02.12
✎
20:58
|
(30) Кстати, специалист в 1ю очередь должен решать приоритетные задачи, т.е., в твоем случае, проблему, почему не грузится фото. А уже потом всё остальное из (0)
|
|||
36
Gal4onok
22.02.12
✎
21:01
|
(35) в карточке
|
|||
37
Ахиллес
22.02.12
✎
21:02
|
Если в слове цифры и одна точка тогда это сумма, если нет точек то номер иначе дата.
Примерно так, естественно это не окончательный вариант, надо на массиве исходных данных обработать и посмотреть какие ошибки будут и допилить. |
|||
38
Deon
22.02.12
✎
21:04
|
(36) на 33 ответь
|
|||
39
zak555
22.02.12
✎
21:05
|
нанять девочку Gal4onok , которая будет парсить не предлагать ?
|
|||
40
Deon
22.02.12
✎
21:06
|
(39) Зачем ей девочка? Тогда уж мальчика
|
|||
41
zak555
22.02.12
✎
21:09
|
(40) надо подумать
|
|||
42
БибиГон
22.02.12
✎
21:13
|
(41) чем? ;)
|
|||
43
zak555
22.02.12
✎
21:14
|
(42) головой
чем ещё ? |
|||
44
БибиГон
22.02.12
✎
21:16
|
(0) почему нужно находить именно в строке? задача то непонятная какая. Такие строки пишутся вообще от балды.
|
|||
45
Deon
22.02.12
✎
21:17
|
(44) А больше не в чем искать )
|
|||
46
БибиГон
22.02.12
✎
21:18
|
(45) вот и интересуюсь. Почему это негде искать и почему такая задача странная. Может и найдется где еще искать. :)
|
|||
47
Mikeware
22.02.12
✎
21:22
|
(45) ну, смотря где берутся эти строки... Если в клиент-банке, то есть еще куча всяких данных.
Да и из этого - дату можно выдернуть регулярными выражениями. Из оставшегося - удалить тексты - получим числа. их регулярными тоже проверить, сравнить с суммой. |
|||
48
БибиГон
22.02.12
✎
21:24
|
(47) так числа бессмысленными будут. Сравнивать не с чем. Такие тексты как в (0) пишутся не по строгому формату. Т.е. тупо нет формата.
|
|||
49
БибиГон
22.02.12
✎
21:25
|
т.е. шаблона.
|
|||
50
Gal4onok
22.02.12
✎
21:25
|
(47) а можно примерно кодом это все? варианты перебирать не хочеться. пока остановилась на таком
текПодстрока = СокрЛП(Сред(СокрЛП(ТекСтрока),ПозицияСуммыРеестра+СтрДлина(вариантКомиссия))); ИтСтр = СтрЗаменить(текПодстрока," ",РазделительСтрок); Результат = СокрЛП(СтрПолучитьСтроку(ИтСтр,1)); СуммаКоммисии = Сред(Результат,1,СтрДлина(Результат)-1); |
|||
51
andrewalexk
22.02.12
✎
21:30
|
:) для подобного анализа текста существует механизм регулярных выражений но по определению подобный метод стохастический...
|
|||
52
Gal4onok
22.02.12
✎
21:34
|
(51) эммм, не сильна в этом....сорри
|
|||
53
БибиГон
22.02.12
✎
21:34
|
(51) да да, искусственный разум здесь не помешает. :))
|
|||
54
Deon
22.02.12
✎
21:35
|
(53) Я тоже всё удивляюсь, почему такого сервиса не придумали. И отсутсвие телепортов меня убивает
|
|||
55
Gal4onok
22.02.12
✎
21:39
|
понятно, спс за помощь
|
|||
56
БибиГон
22.02.12
✎
21:40
|
(55) на вопросы из принципа не отвечаем?
|
|||
57
Gal4onok
22.02.12
✎
21:44
|
(56) на какие?
|
|||
58
Mikeware
22.02.12
✎
21:44
|
(48) ну почему же сразу бессмысленными?
10-значное число - однозначно не сумма. Иначе контора, оперируюшяа такими суммами, либо наняла бы оператора, либо наняла бы хотя бы программиста... остаются числа с разделителями, две цифры после разделителя, и оканчивающиеся на "=" - с большой долей вероятности это будет сумма. если в исходной строке в районе выделеной суммы стоит слово "НДС" - то скорее всего, это будет сумма НДС... ну и так далее.... |
|||
59
BlackSeaCat
22.02.12
✎
21:46
|
Нанять программиста еще не предлагали?
|
|||
60
Mikeware
22.02.12
✎
21:47
|
(59) Видимо, не вариант.... дикие места.
|
|||
61
Deon
22.02.12
✎
21:47
|
(59) Нет программистов на рынке.
|
|||
62
BlackSeaCat
22.02.12
✎
21:50
|
(60) Интернет есть - значит, не такие уж и дикие.
Но я подозреваю, что не в дикости дело. (61) Ага, одни птицы кругом... |
|||
64
Mikeware
22.02.12
✎
21:52
|
(62) Конечно, птЫцы. Зато с какими они клювами!!!
|
|||
65
Gal4onok
22.02.12
✎
21:54
|
(64) да и все на этом форуме...
|
|||
66
andrewalexk
22.02.12
✎
21:54
|
(61+) :) кончились...утром последнего взяли...после праздников обещали подвезти еще
|
|||
67
БибиГон
22.02.12
✎
21:56
|
(66) ой ли, после праздников. :))
|
|||
68
mikecool
22.02.12
✎
22:14
|
(0) смотри остальные данные файла клиент-банка
ибо все эти данные там есть |
|||
69
Mikeware
22.02.12
✎
22:17
|
(68) Это может быть не платежки, а реестр к документу зачисления...
|
|||
70
mikecool
22.02.12
✎
22:19
|
(69) имхо - всегда можно получить структурированную информацию от банка, нежели ломать голову над бардаком )
|
|||
71
БибиГон
22.02.12
✎
22:21
|
(70) + 100500
|
|||
72
Mikeware
22.02.12
✎
22:22
|
(70) За неимением горничной - имеют конюха...
имхо, информации у ТС вполне достаточно. Тем более, мы делаем вывод на основании примера двух строк, а у ТС их гораздо больше. надо просто приложить голову.... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |