Мне нужно сравнить содержимое двух строк и, если в обеих строках встречаются «ключевые слова». Вот два примера (Равные части выделены жирным шрифтом):String Content Compare
БУДУЩИЕ EURO БУНД 03,16 ВЫЗОВ 03,16 ВР 159,50 EUREX
ETD ВЫЗОВ 16 марта ERX EURO БУНД 159.50
Ключевые слова являются словами PUT и CALL, цифры могут быть разделены запятыми или точками. Дата 03.16 была бы полезна для сравнения с MAR 16, но появление ключевых слов неизвестно. Существует также что-то вроде правила, если определенные ключевые слова существуют в одной строке, такой как «CALL», тогда «PUT» не разрешается во второй строке.
Другой пример с различными стилями Дата:
EQOI КУПИТЬ PUT2.5 ACI США 15/01/16 000043XI
PUT Arch Coal Inc. 15.01.16 ВР 2,50 OTC
Я думал о сплите ting строки с помощью Space и сравнения содержимого один за другим, но затем я пропустил бы номер в BUND 159.50. Мне нужно было бы проверить расщепленную строку, если она содержит даты числа/числа и т. д. Существуют ли какие-либо существующие библиотеки, которые я мог бы использовать для такого типа сравнения?
Предпочтительные VB.NET, Linq, но C# или Regex, также в порядке.
В каком направлении вы бы поехали? Мне нужно сравнить сотни строк и создать список предложений, который из строк в первом списке лучше всего подходит для строк второго списка.
Ого, как мы должны знать, 03,16 является дата или номер? –
Как я уже сказал, это будет здорово, но эта часть не будет столь важна. другие ключевые слова были бы более важными. – Athu
Очевидно, что вам нужно идентифицировать все возможные форматы (принимая во внимание, что ваши части тоже не заинтересованы, самые точные, лучшие) и построить ваш шаблон как чередование этих разных форматов. Как только эта работа будет выполнена, вы можете попытаться разложить свой шаблон на более быстрые результаты. В противном случае невозможно отличить дату от суммы. –