MS Word に iMessaging 履歴を含む非常に長くて大きな文書がいくつかあります。現在の形式を少し変更して、より直感的に読めるようにしたいと考えています。現在、1 つの文書のサンプルは次のとおりです。
日付: 2014年4月26日 20:21 (iMessage)
こんにちは、
アメリアさん (上記):日付: 2014年4月27日 23:52 (iMessage)
こんにちは?
Ethan (上記):日付: 2014-04-28 08:05 (iMessage)
こんにちは。お元気ですか?
アメリア (上):日付: 04-29-2014 00:39 (iMessage)
疲れて忙しい... (何行にもわたる長い段落のサンプル、blahblahblahblahblahblahblahblah)... あなたは?
イーサン (上):
次のように並べ替えたいと思います。
日付: 2014年4月26日 20:21 (iMessage)
アメリア (下):
こんにちは日付: 2014 年 4 月 27 日 23:52 (iMessage)
イーサン (下):
こんにちは?
あるいは、次のようなことも考えられます。
アメリア: 2014年4月28日
やあ。元気だった?イーサン: 2014 年 4 月 29 日
疲れていて忙しい... (何行にもわたる長い段落のサンプル、blahblahblahblahblahblahblahblah)... あなたは?
ご覧のとおり、私の主な関心事は、テキスト メッセージがどれだけ長くても、誰が話しているかを示す表示をテキスト メッセージの下部からテキスト メッセージの上部に移動することです...そして、2 番目に重要なことは、名前と日付だけを残すように不要な情報を削除することです。
問題は、この2つの名前が何百個も存在するのに、それを簡単に移動させる方法がないことです。その上どのような可変テキスト メッセージであっても、MS Word の高度な検索と置換機能は非常に強力であることは知っていますが、構文について十分に理解していないため、独自の実用的なソリューションを作成することはできません。
私が知っていること:
- MS Word の検索と置換機能を使用すると、すべての「(above)」を削除して「air」に置き換えることが簡単にできます。
- ワイルドカードを使用すると、たとえ異なっていても、類似したテキスト文字列を選択できます。たとえば、この「検索」では、 「日付: [さまざまな数字] (iMessage)」
Date: (*{1,})\)
- 次のようなコードを使用できます。 検索:
(<*>)[space](<*>)
交換する:\2[space]\1
異なるテキスト ブロックを並べ替えるため。
この情報をまとめて、テキストのさまざまなセクション (日付、メッセージ、作成者) を認識し、希望どおりに並べ替えることができるソリューションを作成するための支援が必要です。どのような支援でもいただければ幸いです。
私は、必ずしも MS Word ではなく、他の無料プログラムを使用することも考えています... しかし、私は Mac を使用しているため、Notepad++ などとの互換性の問題があり、可能であれば MS Word を使い続けたいと思います。
答え1
3 つの部分が別々の段落であると仮定すると、サンプル テキストで次の操作を実行できました (2 つの手順)。
検索と置換 #1 (ワイルドカード)
Find: (Date:*iMessage\)^13)(*)(^13[A-Z][a-z ]@\(above\):)
Replace: \1\3^p\2
次に、余分な空白行を整理するために、もう一度簡単な検索と置換を実行します (ワイルドカードではありません)。
検索と置換 #2 (二重段落を単一段落に置換):
Find: ^p^p
Replace: ^p