在 MS Word 2013 中,我有多行类似以下内容:
你们的心脏在跳动:大动脉在收缩,大动脉在收缩,大动脉在收缩?
口号: 太阳升起,太阳射手座升起,太阳射手座等
dapibus scelerisque:乌尔纳·托尔·阿里夸姆,platea
去吧! :您好,您的耳朵是红润的。产妇分娩时
...
我想要执行以下操作:
- 将每行的首字母大写
- 将所有文本添加到第一个
:
大胆的。<== I'm exaclty stuck on how to select this specific text !!
与通配符相比,我更喜欢使用正则表达式,因此我可以轻松完成第 1 点(使用 sublimeText 或 notepad++):/^(.)/\u\1/
如果我知道 MS 在将文本导入回 word 之前使用哪些特殊字符将文本标记为粗体(例如 Markdown 中的 **),那么第 2 点也可以做到/^([^:]+)/???/
……好吧,如果这么简单 xD
如果没有,请告诉我实现此目的的最简单方法,因为我有数百行这样的代码。
PS:我刚刚看到 Open Office 允许使用正则表达式,所以我可能会使用它,但我仍然想知道当我无法访问 OO 时如何在 MS Word 中执行此操作
解决方案:
短的:
长的:查看下面 Kelly 的回答
答案1
据我所知,Word 不允许使用“查找和替换”更改大小写。您能做的最好的事情就是在找到每个选择时更改它们的大小写。(因此,您不必点击“全部替换”然后完成操作,而是使用“查找下一个”,然后使用“主页”选项卡的“字体”区域中的“大小写”按钮选择“句子大小写”。)
要使冒号前的文本加粗,可以使用以下命令:
查找内容:(^13*:)
替换为:\1
将光标放在替换为字段中,使用 Ctrl+B 将替换内容变为粗体。
^13 是段落标记的代码,* 是“任意数量的任意字符或字符组”通配符,\1 重复括号中的内容。
段落标记是必需的,因为仅使用 (*:) 就会找到“Duis pulvinar, enim montes :”,然后是“uis pulvinar, enim montes :”,然后是“is pulvinar, enim montes :”,依此类推,一次一个字符。因此,段落标记为其提供了一个开始的位置。这样做的缺点是,除非前面还有另一个段落,否则它不会找到第一个实例。(使用您的示例文本,它替换了最后三行,但没有替换第一行。)