Tenho alguns documentos muito longos e grandes no MS Word, contendo o histórico do iMessaging. Quero reordenar um pouco o formato atual, para que seja mais intuitivo de ler. Atualmente, uma amostra de um documento é:
Data: 26/04/2014 20:21 (iMessage)
Olá
Amelia (acima):Data: 27/04/2014 23:52 (iMessage)
Olá?
Ethan (acima):Data: 28/04/2014 08:05 (iMessage)
Ei. como você esteve?
Amélia (acima):Data: 29/04/2014 00:39 (iMessage)
Cansado e ocupado .. (Exemplo de parágrafo grande e longo abrangendo muitas linhas, bláblábláblábláblá bláblábláblá)... você?
Ethan (acima):
Gostaria de reordená-lo para que fique mais parecido com:
Data: 26/04/2014 20:21 (iMessage)
Amelia (abaixo):
OláData: 27/04/2014 23:52 (iMessage)
Ethan (abaixo):
Oi?
Ou talvez até:
Amélia: 28/04/2014
Ei. como você esteve?Ethan: 29/04/2014
Cansado e ocupado .. (Exemplo de parágrafo grande e longo abrangendo muitas linhas, bláblábláblábláblá blábláblá)... você?
Como você pode ver, minha principal preocupação é mover a indicação de quem está falando da parte inferior da mensagem de texto para ACIMA da mensagem de texto, por mais longa que seja a mensagem de texto... E então uma coisa secundária seria livrar-se das informações desnecessárias deixar apenas o nome e a data.
O problema é que não tenho uma maneira fácil de mover centenas de instâncias desses dois nomes paraacimaqualquer mensagem de texto variável que possa ter. Sei que o recurso avançado de localização e substituição do MS Word é muito poderoso, mas não sei o suficiente sobre a sintaxe para poder formular minha própria solução funcional.
O que eu sei:
- Você pode facilmente usar a capacidade do MS Word para localizar e substituir, para se livrar de todas as ocorrências de "(acima)" e substituí-las por ar.
- Você pode selecionar sequências de texto semelhantes, mesmo que variem, usando curingas... Por exemplo, esta "pesquisa por" seleciona todas as instâncias de "Data: [números variáveis] (iMessage)"
Date: (*{1,})\)
- Você pode usar algum código como-- Procurar:
(<*>)[space](<*>)
Substituir:\2[space]\1
Para reordenar diferentes blocos de texto.
Só preciso de ajuda para reunir essas informações em uma solução que seja capaz de reconhecer as diferentes seções do texto-- A data, a mensagem e o autor-- E seja capaz de reordená-las como eu quiser. Qualquer ajuda seria apreciada!
Também estou aberto a usar outros programas gratuitos, em vez de necessariamente o MS Word... Mas como estou no Mac, há o problema de compatibilidade com coisas como Notepad++, etc, então prefiro usar o MS Word, se possível .
Responder1
Supondo que as três partes sejam parágrafos separados, consegui fazer o seguinte funcionar com seu texto de exemplo (2 etapas):
Encontre e substitua o número 1 (curinga)
Find: (Date:*iMessage\)^13)(*)(^13[A-Z][a-z ]@\(above\):)
Replace: \1\3^p\2
Então, para organizar linhas em branco extras, mais uma localização e substituição rápida (NÃO curinga):
Encontre e substitua o nº 2 (substitua os parágrafos duplos por simples):
Find: ^p^p
Replace: ^p