У меня есть список строк необработанных данных.Каждая строка может содержать название компании + адрес стресса + город + провинция в Talend 7. Они разделены в строке конвейером.
Общее количество строк составляет 200 000.
Я хочуизвлечь и отделить название компании эффективным способом.Проблема в том, что канал существует нерегулярно для названия компании.
Вот несколько примеров, которые может иметь каждая строка:
- "Mackenzie Health | 10 Trench St. | Richmond Hill ONL4C 4Z3 "
- " "
- " Оздоровительно-оздоровительный центр | Университет Торонто | Колледж-стрит, 214, ауд. 111 | Toronto ON M5T 2Z9 "
- " 400 Walmer Road |Suite 125 | Toronto ON M5P 2X7 "
- " Больница для больных детей | Кафедра неотложной медицинской помощи | Атриум 2 этажа, кабинет 2830 | 555 University Ave | Toronto ON M5G 1X8 "
Я подумываю об использовании tJava или tJavaRow и написании некоторого Java-кода, используя метод contains, и я могу проверить, содержит ли строка одно из следующих слов: Avenue, Ave, Road, Rd, Street и, St. за исключениемперед этими словами есть место.
Вот моя проблема: после нахождения какой записи есть адрес улицы, мне нужно знать, существует ли какой-либо канал перед адресом улицы, и если да, то сколько?Так что я могу объединить их как название компании.
Примеры:
"Mackenzie Health | 10 Trench St. | Richmond Hill ON L4C 4Z3" перед улицей есть только одна труба 10 TrenchSt., так что название компании Mackenzie Health
«Оздоровительно-оздоровительный центр | Университет Торонто | 214 College Street, Room 111 | Toronto ON M5T 2Z9» есть две трубы перед адресом улицы, поэтому названиеКомпания: Центр здоровья и здоровья Университета Торонто
"400 Walmer Road | Suite 125 | Toronto ON M5P 2X7" перед ним нет трубы, поэтому нет никакого имени
"Больница для больных детей | Отделение неотложной медицинской помощи | Атриум 2-го этажа, кабинет 2830 | Университетский проспект 555 | Торонто ON M5G 1X8 «Перед ним три трубы, но в подстроке, перед ней, есть слово номер.Таким образом, название компании - Больница для больных детей, отделение неотложной медицинской помощи.
Цените любую идею и / или новое решение также