Como quebrar a linha em palavras conhecidas
-
21-12-2019 - |
Pergunta
Eu preciso quebrar uma linha de string em colunas diferentes no Excel. Aqui é a entrada do te que eu recebo.
entrada :
- 37006 II semestre p.g. Diploma em Pesquisa Clínica e Exame de Gestão de Dados Clínicos, Julho / Agosto 2012 Horário de Assuntos Reguladores Pharma: 3 horas Máx. Marcas: 100
Saída : registro CSV com estrutura (código, sem / ano, assunto, curso, data do exame, hora, marcas)
- 37006, II semestre, p.g. Diploma em pesquisa clínica e gestão de dados clínicos, assuntos regulatórios farmacêuticos, julho / agosto de 2012, 3 horas, 100
Eu tenho dados em diferentes conjuntos que constrói as linhas acima. Por exemplo:
gramática (este é um array / dicionário):
- semestres [I, II, III, IV, V, VI, VII, VIII, IX, X, 1,2,3,4,5,6,7,8,9]
- anos [I, II, III, III, V, VI, VII, VIII, IX, X, 1,2,3,4,5,6,7,8,9,10]
- assuntos [p.g. Diploma em pesquisa clínica e gerenciamento de dados clínicos, ll.b]
- cursos [assuntos de regulamentação farmacêuticos, lei - jurisprudência]
- Examdates [Julho / Agosto de 2012, Jan./FEB. 2013]
- tempo [3 horas]
- Maxmarks [30,40,50,60,70,70,80,90,100]
fyi,
- Não tenho certeza de que posso usar qualquer delimitador para quebrá-lo como é altamente imprevisível ou confiável.
- Eu não tenho certeza que o texto estará no mesmo pedido em cada linha ou nenhum comprimento fixo ou carros ou palavras
Minha suposição é, leia a palavra por palavra e tente combinar com qualquer palavra em qualquer matriz que eu tenha. Se sua correspondência com qualquer palavra, categorize essa palavra em queda de categoria e adicione em coluna relevante no Excel.
Aqui, eu sei como lidar com dados e tudo, exceto qual é a maneira otimizada / melhor para entender cada palavra cai sob qual categoria.
Existe algum especialista de análise lexical que possa compartilhar alguns pensamentos sobre isso?
Solução
Você deve usar expressões regulares para corresponder a um padrão de texto complicado.
Outras dicas
Por favor, dê uma olhada em um analisador lexical como antlr .Se você conhece Java ou outras línguas que lêem expressões regulares , você será capaz de analisar com facilidade após uma tarde (ou semana) de tortura.Você também pode escrever o regexp em Java, mas eu me empurraria para a interface antlu, que você pode usar do Eclipse.Ele mostrará como as linhas estão sendo analisadas.
Ter a saída do antlu ou java escreva um arquivo CSV.O CSV receberá seu veículo para obter seus dados na planilha do Excel.