Word 查找/替换 应用,筛选/过滤内容

Word 查找/替换 应用

  • "查找和替换查找阅读突出显示":将查找到的结果突出显示,即,使用"文件字体文本突出显示颜色"高亮结果,但仅影响阅读'视图',不改变文档,在下一次打开"查找和替换"时自动"清除突出显示"。
    • 可以不关闭"查找和替换"窗口,多次指定"查找内容"并"阅读突出显示"。每次可指定不同的"文本突出显示颜色"。
  • 上述"查找",可以替换为"查找和替换替换","替换为"的值为"^&"(激活"替换为"文本框后底部的"替换"标签组"特殊格式查找内容"),并"突出显示"("替换"标签组"格式突出显示")。
    • 可以不关闭"查找和替换"窗口,先"查找"标签卡-"阅读突出显示",再"替换"标签卡进行筛选/过滤("查找内容"的"格式"设置为"突出显示/非突出显示")。
    • "替换为"空时,需"不限定格式"("替换"标签组"不限定格式")。
  • "搜索选项使用通配符"时,注意对'通配符'({}、()、[])进行转义()。

举例

原始:替换结果:

查找(突出显示) 

注意:

    • 换行符;
    • "查找阅读突出显示"操作状态易丢失/复位,建议直接"替换"为'突出显示'格式。

参考:

其他:

Word中不方便,不如在其他支持正则的编辑器里操作,脚本化最好。

附AHK/autohotkey脚本

 1 ; WeChat中tab可在文本框间导航,不可导航选择项
 2 #SingleInstance,force
 3 pcre_callout:="RC"
 4 ;    RegExMatch("C)..",.. or RegExMatch("(..)(?CRC)..",..
 5 Msgbox % "激活Word,全选答案,按F2分析答案;`n激活微信浏览器,激活文本框,按F2依据分析顺序填入备选答案,并跳转下一个文本框;`nF1/Shift F1在当前文本框切换下/上一个备选答案,`n选择题需手动点选,按F1或F2在鼠标处显示答案;`n及时激活文本框,否则可能覆盖焦点文本(撤销,或Shift F1回滚备选答案);`n其他窗口下,F2退出程序"
 6 return
 7 F2::exitapp
 8 #IfWinActive ahk_exe SciTE.exe
 9 F1::
10     Send {F5}
11     return
12 F2::
13     ExitApp
14 #IfWinActive ahk_exe WeChat.exe
15 F2::
16     sel:=c()    ;selection
17     if(sel==r[r.Length()].Value)
18         Send {Tab}
19 F1::
20 begin:
21     ;{
22     ;Send % StrGet(&s,"cp0")    ;搈?
23     ;Send % StrGet(&s,"CP936")    ;搈?
24     ;Send % StrGet(&s,"UTF-8")    ;?m??
25     ;Send % StrGet(&s)    ;涓?
26     ;Send % StrGet(s)    ;nothing
27     ;script should be UTF-8
28     ;}
29     if(not o[1].Value){
30         Tooltip Done
31         return
32     }
33     Send ^a
34     if s
35         SendInput % s
36     else{
37         c:=o.RemoveAt(1)
38         r.Push(c)
39         if(c.Type=="{"){
40             SendInput % c.Value
41         }
42         Tooltip % c.No ": ..." c.Front "【" c.Value "】" c.Back
43             . (o[1].Value?"`n" o[1].No ": ..." o[1].Front "【" o[1].Value "】" o[1].Back
44                 . (o[2].Value?"...`n" o[2].No ": ..." o[2].Front "【" o[2].Value "】" o[2].Back :"")
45             :"")
46             ,A_CaretX,A_CaretY
47     }
48     Send ^a
49     return
50 !F1::
51 +F1::
52     o.InsertAt(1,r.Pop())
53     o.InsertAt(1,r.Pop())
54     goto begin
55     return
56 #IfWinActive ahk_exe WINWORD.EXE
57 F1::
58     s:=c()
59     o:=false
60     return
61 F2::
62     ;parse word
63     s:=false
64     o:={}    ;object
65     r:={}    ;recyle
66     RegExMatch(c(),"xOs) "
67         . "(d+)、[^
]*?"
68         . "(.....)"
69         . "([({])"
70         . "([^})]+)"
71         . "[)}]"
72         . "(.....)" . "(?CRC)")
73     Tooltip % o[1].No ": ..." o[1].Front "【" o[1].Value "】" o[1].Back
74             . (o[2].Value?"...`n" o[2].No  ": ..." o[2].Front "【" o[2].Value "】" o[2].Back "...":"")
75     return
76     
77 c(){
78     local oc:=ClipboardAll
79     local s
80     Clipboard:=""
81     Send ^c
82     ClipWait,0
83     if(ErrorLevel!=1){
84         s:=Clipboard
85     }else{
86         s:=""
87     }
88     Clipboard:=oc
89     return s
90 }
91 RC(Match,CalloutNumber, FoundPos, Haystack, NeedleRegEx){
92     global o
93     if(Match[4]=="试行")
94         return 1
95     o.Push({No:Match[1],Front:Match[2],Type:Match[3],Value:Match[4],Back:Match[5]})
96     ;~ c:=o.Pop()
97     return 1    ;matching fails at the current point, but the testing of other matching possibilities goes ahead.
98 }
View Code
原文地址:https://www.cnblogs.com/RobertL/p/14118877.html