![使用 MS Word 查找和替换功能交换两个不同文本块的多个大小写](https://linux22.com/image/1497472/%E4%BD%BF%E7%94%A8%20MS%20Word%20%E6%9F%A5%E6%89%BE%E5%92%8C%E6%9B%BF%E6%8D%A2%E5%8A%9F%E8%83%BD%E4%BA%A4%E6%8D%A2%E4%B8%A4%E4%B8%AA%E4%B8%8D%E5%90%8C%E6%96%87%E6%9C%AC%E5%9D%97%E7%9A%84%E5%A4%9A%E4%B8%AA%E5%A4%A7%E5%B0%8F%E5%86%99.png)
我在 MS Word 中有一些非常长且很大的文档,其中包含 iMessaging 历史记录。我想稍微重新排列当前格式,以便阅读起来更直观。目前一份文档的示例如下:
日期:2014 年 4 月 26 日 20:21 (iMessage)
你好,
Amelia (以上):日期:2014 年 4 月 27 日 23:52 (iMessage)
嗨?
Ethan (以上):日期:2014 年 4 月 28 日 08:05 (iMessage)
嘿,你过得怎么样?
Amelia(上文):日期:2014 年 4 月 29 日 00:39(iMessage)
又累又忙……(示例大段长话,跨越多行,blahblahblahblahblahblahblahblahblah)……你呢?
Ethan(上文):
我想重新排序它,以便它看起来更像这样:
日期:2014 年 4 月 26 日 20:21 (iMessage)
Amelia (以下):
你好日期:2014 年 4 月 27 日 23:52 (iMessage)
Ethan (以下):
嗨?
甚至可能是:
阿米莉亚:2014 年 4 月 28 日
嘿,你过得怎么样?Ethan:2014 年 4 月 29 日,
又累又忙......(例如,跨越多行的长段落,blahblahblahblahblahblahblahblahblah)......你呢?
正如您所看到的,我主要关心的是将说话人的指示从文本消息的底部移到文本消息的上方,无论文本消息有多长...然后次要的事情是摆脱不必要的信息,只留下姓名和日期。
问题是,我没有简单的方法将这两个名字的数百个实例移动到多于无论它包含什么变量文本消息。我知道 MS Word 的高级查找和替换功能非常强大,但我对语法了解不够,无法制定自己的工作解决方案。
我知道的:
- 您可以轻松使用 MS Word 的查找和替换功能,删除所有“(above)”并将其替换为空气。
- 您可以使用通配符选择相似的文本字符串,即使它们有所不同...例如,此“搜索”选择所有实例 “日期:[不同数字] (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