Remoção de respostas em e-mails baixados (ou seja, sentenças duplicadas não consecutivas do arquivo txt)

0

Olá especialistas e colegas de escola!

Eu tenho dezenas de arquivos de texto que contêm arquivos mensais de um listserv. Estou tentando eliminar / excluir respostas citadas para que cada mensagem apareça apenas uma vez em todos os arquivos. A maioria dos usuários da lista não usa aspas em linha, o que é útil! Eu tenho o ID da Mensagem, In-Reply-To e todas as informações de cabeçalho, mas sei que esta é uma tarefa complicada.

A complicação é o fato de que muitos clientes de email são usados com todos os seus diferentes sistemas para lidar com respostas. Então, às vezes, os e-mails citados vêm com ">" no início da linha (que eu já aprendi a remover), alguns inserem quebras de parágrafo (aparentemente aleatoriamente?), alguns usam "--- Mensagem Original ---" ou "PersonZ escreveu / escreveu:" e, claro, não há "fim" padrão para marcar o final da resposta.

Estou procurando por uma solução de regex e possibilidades de teste há dias, e não encontrei nada que funcione sem classificar as linhas (ou seja, todas as soluções exigem duplicatas consecutivas). Aqui está um exemplo de uma solução que é realmente próxima e envolve fazer de tudo uma nova linha e classificá-los - mas classificá-los anula o propósito do projeto (análise semântica).

Encontre frases duplicadas - qualquer ferramenta ou regex

Aqui está outra solução que também está próxima, ainda que exija pesquisar desde o início de uma linha. Não funciona na minha situação porque vários clientes de email inserem quebras de parágrafos no meio das frases.

link

Estou em um ambiente de desktop Win10 x64. Eu sou um pouco novo para regex. Eu tenho usado o FNR simples (Find and Replace do codeplex, GrepWin e TextCrawler Free), e estou aberto a outras soluções de software (ou métodos). Se necessário, posso descobrir como executar comandos php usando o xammp. Em outras palavras, todo o processo foi uma experiência de aprendizado, então estou feliz em continuar.

EDIT: Se você gostaria de dar uma olhada em um exemplo de simulação - com um regex simulado que eu sei que não funciona e não esperava funcionar - veja aqui: link

Desculpe pela duração, mas eu queria fornecer as informações necessárias imediatamente.

Obrigado Jeremy

    
por Jeremy 10.05.2017 / 17:25

0 respostas