我想“查找和替换”Microsoft Office Word 2010 中的整行符合某些标准。
我尝试在官方文档中寻找解决方案,但没有找到答案:
(顺便说一下,这里还有两份更有用的非官方文件:使用通配符查找和替换;Microsoft Word 中的正则表达式)
例子
例如:我想搜索所有包含“标题 2”样式,并替换它们,使它们位于##
符号之间:所以这是原始文本:This is my title
,我想找到它并以这种方式替换它:(## This is my title ##
这样我就可以将文本的标题转换为与 Wiki 兼容的标题 2,而无需任何外部插件(编辑:抱歉,与此同时我意识到与 MediaWiki 兼容的标题 2 样式使用==
而不是##
,但它不会改变主要观点))。
因此在Ctrl+之后H,检查“使用通配符“,选择格式 > 样式 > 标题 2,我试过这个,但它不起作用:(*^13>)
或(<*^13>)
,^13
匹配“段落分隔符/回车”(看这) - 这让 Word 疯狂搜索,GUI 冻结了几分钟 (!)。最后,它什么也没找到(但我确实有带有标题 2 样式的文本)。
好的,这不是合适的模式,那么在 Word 中搜索和替换整行的适当方法是什么?
答案1
也许我遗漏了一些东西,但由于某种原因,我无法在一次搜索/替换操作中做到这一点:
脚步
前:
替换空字符串(格式标题 2) 替换为“## ^& ##”(无格式):
第一次更换后:
将“^p ##”(无格式)替换为“ ##^p”(无格式)(请注意替换字符串开头有一个空格!):
第二次更换后:
答案2
我知道这个问题已经很老了,但是在这里或其他地方找不到任何实用的解决方案,所以我想为了后人的利益发布答案。
也许 Word 对该功能进行了增强,使我能够执行一次替换操作来完成提问者所描述的工作:
找什么:(*{1,})
- -风格:标题 1
用。。。来代替:\1
- -风格:普通的
请注意,使用 (*) 而不是 (*{1,}) 会消除行中的第一个字符。显然,(*) 中有一些我不太想研究的特殊含义。