|
524 / 400 / 213
Регистрация: 28.07.2011
Сообщений: 2,221
|
|
.NET Core Однозначно сопоставить строки22.10.2022, 11:44. Показов 1468. Ответов 28
Метки нет (Все метки)
Всем привет.
Есть 2 списка строк. я вручную выбираю строку из 1 списка и мне должна подобраться верная строка из списка 2. например в 1 списке Вх. док. эл. обмена "1Э-ДФЛ" от ООО "Компания" из 2 списка должно подобраться такое Договор №1/Э-ДФЛ от 25.05.2005 с ООО "Компания" соотвественно списка отличаются номерами, датами, названиями организаций. Выслушаю ваши варианты. П.ц. вроде просятся регулярки но я их не валамон
0
|
|
| 22.10.2022, 11:44 | |
|
Ответы с готовыми решениями:
28
Вытянуть из строки номер и сопоставить его с другим полем
знак который однозначно.... |
|
Модератор
|
||
| 31.10.2022, 15:13 | ||
Э-ДФЛ.А с ТС тема остановилась на том, что этот шаблон не во всех строках. Общего правила соответствия он сам не смог сформулировать. И не дал достаточного образца данных, чтобы это могли сделать другие.
0
|
||
| 01.11.2022, 08:38 | |||
|
1
|
|||
|
524 / 400 / 213
Регистрация: 28.07.2011
Сообщений: 2,221
|
||
| 16.11.2022, 11:06 [ТС] | ||
|
как мне его сделать? например Вх. док. эл. обмена "[тут любое число] Э-ДФЛ" от [компания] значит это ДФЛ Вх. док. эл. обмена "[тут любое число] Э-ДФЛ от [тут любая дата] " от [компания] значит это ДФЛ с помощью регулярок что ли? их же тогда надо как-то правильно писать или есть типа * - любой символ, d - цифра итд? и если вдруг они будут приходить в другом виде мы можем создать другую маску например Вх. док. эл. обмена "[туткакоеточисло]_ДЛ_от_[Компания] от [тут любая дата]" -> ДФЛ и раз это ДФЛ то мы уже ищем [это самое число]/Э-ДФЛ в другом списке и также для других типов Вх. док. эл. обмена "СОР_[тут любое число]_[тут любой текст] к ДЛ от [тут любая дата]" -> СОР
0
|
||
|
Модератор
|
||
| 16.11.2022, 12:09 | ||
|
Но создавать свой язык масок бессмысленно. Лучше тогда использовать регулярки. Я не могу точно вам ответить, поскольку не знаю насколько сильно различаются ваши шаблоны. Как минимум мне для собственных выводов нужно увидеть достаточные оба списки. Чтобы в них были данные разных шаблонов и указана связь между элементами списков.
0
|
||
|
524 / 400 / 213
Регистрация: 28.07.2011
Сообщений: 2,221
|
||||||||||||
| 16.11.2022, 14:08 [ТС] | ||||||||||||
|
п.ц. поля число дата и компания во втором списке уже разделены можно их не разделять а сравнивать напрямую.
в первом списке имена и формат может меняться, поэтому и нужна какая-то табличка сопоставления чтобы можно было в нее добавить новый формат имени и однозначно понять что это именно ДФЛ и попробовать найти ему пару во втором списке.
0
|
||||||||||||
|
Модератор
|
||
| 16.11.2022, 17:31 | ||
|
Нужны шаблоны для регулярки, насколько понимаю в этом. Но к сожалению я с регулярками плохо знаком. Может кто-то другой ответит.
0
|
||
| 17.11.2022, 16:37 | ||||||
|
Не знаю насколько Вам покажется приемлемым, но предложу вариант, который вполне реализуем. Итак, из данных видно, что анализ входных строк можно начинать после первой кавычки. Далее строка содержит некий шифр документа, не обязательную дату и название организации. Исходя из этого создадим класс:
P.S. Я тоже с регулярками не дружу.
0
|
||||||
|
Модератор
|
|
| 17.11.2022, 17:46 | |
|
Fakeoke, если правильно понял (чуть изменённый алгоритм от Uswer).
В строке из первого списка: 1) ищем с конца " от "; 2) то что после - это название компании; 3) выделяем первую подстроку ограниченную кавычками; 4) выделяем в ней первую цифровую последовательность - это код; 5) если в подстроке есть дата - то получаем её. По полученным коду, дате и имени компании: 1) Выбираем подстроку между "№" и "/Э-ДФЛ" - проверяем на код, если он есть; 2) Выбираем подстроку после " от " и получаем из неё дату - проверяем её, если она есть; 3) Проверяем конец строки на название компании. Если алгоритм правильный и подходит для всех шаблонов, то можно его реализовать логическим кодом без регулярки. Это будет быстрее и не потребует доводки в период эксплуатации приложения. Добавлено через 7 минут Fakeoke, даты всегда в таком формате (dd.mm.yyyy)?
0
|
|
|
524 / 400 / 213
Регистрация: 28.07.2011
Сообщений: 2,221
|
|
| 18.11.2022, 12:22 [ТС] | |
|
мне нужны именоо регулярки которые подходят под каждый из типов моих предложенных.
там помимо этих 8 видов относящихся к ДФЛ есть остальная куча которая должна относится к другому виду. то есть мне надо алгоритм не только к этим 8 строчкам. поэтому и нужны регулярки чтобы я создал массив регулярок типа 1 татата - дфл - выделило номер - нашла дфл с таким номером 2 татата - дфл 3 татататата - сор - выделило номер - нашла сор с таким номером итд итп
0
|
|
| 18.11.2022, 12:22 | |
|
Является ли схема однозначно декодируемой? как однозначно узнать PR страницы Hello World не все так однозначно :D
Точно и однозначно сформулировать условие задачи Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|