Шаблоны для определения типа данных в строке - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь проанализировать / извлечь данные из файла строкового формата, используя Java.Файл не содержит неидентичных данных, данные разделяются запятой в несколько строк и пустым пробелом в несколько строк.Но идентичны в пределах одной линии.Также параметры в залоговом удержании не идентичны.

Пример строк:

ipaadress,timestamp,text,text,url,text,email
email text ipaddress text timestamp url
text - timestamp ipaddress text text url email
text,integer,integer,text,ipaddress,timestamp email

и т. Д. *

Скажем, например, я должен определить адрес электронной почты, IP-адрес, адрес электронной почты, URL-адрес из всех строк,Есть ли шаблон для этого?или я должен просто разделить по разделителям и индивидуально разобрать / определить, является ли разделение адресом электронной почты / ipaddress / url и т. д.?

Я следовал этому , чтобы заставить его работать на идентичныеданные, использующие Grok, JSON это забрать.Если есть выход, чтобы решить неидентичные, используя Grok?

Помогите мне понять.

1 Ответ

0 голосов
/ 22 февраля 2019

Скажем, например, я должен определить адрес электронной почты, IP-адрес, адрес электронной почты, URL-адрес из всех строк, есть шаблон для этого?или я должен просто разделить по разделителям и индивидуально разобрать / определить, является ли раздел электронной почтой / ipaddress / url и т. д.?

Я бы определенно сказал первое разделение и затем идентифицируйте различные части, это займет много сложности.Допустим, вы хотите создать шаблон для извлечения адреса электронной почты из одной из этих строк, поверх простого шаблона электронной почты вы также должны быть осторожны, чтобы соответствовать:

  1. Адреса вначало строки (начинается с буквы, может заканчиваться перед запятой или пробелом)
  2. Адреса между (начало / конец / после запятой или пробела)
  3. Адрес в конце строки (начало после запятой или пробела может заканчиваться новой строкой в ​​зависимости от того, как вы вводите данные)

Поиск регулярного выражения длясопоставить все эти случаи (для каждого типа данных) будет гораздо больше работы, чем просто разбить строки и идентифицировать их отдельно.

Вам также следует подумать о том, как обрабатывать текстовые данные, содержащие пробелы исама запятая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...