У меня есть несколько очень длинных и больших документов в MS Word, содержащих историю iMessaging. Я хочу немного изменить текущий формат, чтобы он был более интуитивно понятным для чтения. В настоящее время пример одного документа:
Дата: 26.04.2014 20:21 (iMessage)
Привет,
Амелия (выше):Дата: 27.04.2014 23:52 (iMessage)
Привет?
Итан (выше):Дата: 28.04.2014 08:05 (iMessage)
Привет. Как дела?
Амелия (выше):Дата: 29.04.2014 00:39 (iMessage)
Устал и занят.. (Пример большого, длинного абзаца, охватывающего много строк, бла-бла-бла-бла-бла-бла)... ты?
Итан (выше):
Я бы хотел изменить порядок, чтобы он выглядел примерно так:
Дата: 26.04.2014 20:21 (iMessage)
Амелия (внизу):
ПриветДата: 27.04.2014 23:52 (iMessage)
Итан (внизу):
Привет?
Или, может быть, даже:
Амелия: 28.04.2014
Привет. Как дела?Итан: 29.04.2014
Устал и занят... (Пример большого, длинного абзаца, охватывающего много строк, бла-бла-бла-бла-бла-бла)... ты?
Как вы можете видеть, моей главной задачей является перемещение указания на то, кто говорит, из НИЖНЕЙ части текстового сообщения НАД текстовым сообщением, каким бы длинным оно ни было... А затем второстепенной задачей будет избавиться от ненужной информации, оставив только имя и дату.
Проблема в том, что у меня нет простого способа переместить хотя бы сотни экземпляров этих двух имен ввышекакое бы сообщение с переменным текстом оно ни имело. Я знаю, что расширенная функция поиска и замены в MS Word очень мощная, но я недостаточно разбираюсь в синтаксисе, чтобы сформулировать собственное рабочее решение.
Что я знаю:
- Вы можете легко воспользоваться функцией поиска и замены в MS Word, чтобы избавиться от всех вхождений «(выше)» и заменить их на воздух.
- Вы можете выбрать похожие строки текста, даже если они различаются, используя подстановочные знаки... Например, этот «поиск» выбирает все вхождения «Дата: [разные числа] (iMessage)»
Date: (*{1,})\)
- Вы можете использовать такой код: Поиск:
(<*>)[space](<*>)
Заменять:\2[space]\1
Для того, чтобы изменить порядок различных блоков текста.
Мне просто нужна помощь в объединении этой информации в решение, которое сможет распознавать различные разделы текста — дату, сообщение и автора — и сможет переупорядочивать их так, как я хочу. Любая помощь будет оценена по достоинству!
Я также открыт для использования других бесплатных программ, вместо обязательного MS Word... Но поскольку я работаю на Mac, возникают проблемы совместимости с такими программами, как Notepad++ и т. д., поэтому я бы предпочел использовать MS Word, если это возможно.
решение1
Предположив, что три части являются отдельными абзацами, мне удалось сделать следующее для вашего образца текста (2 шага):
Найти и заменить #1 (подстановочный знак)
Find: (Date:*iMessage\)^13)(*)(^13[A-Z][a-z ]@\(above\):)
Replace: \1\3^p\2
Затем, чтобы убрать лишние пустые строки, еще один быстрый поиск и замена (НЕ с использованием подстановочных знаков):
Найти и заменить #2 (заменить двойные абзацы одинарными):
Find: ^p^p
Replace: ^p