【发布时间】:2017-12-22 01:27:28
【问题描述】:
我正在尝试在 VBA 单词中编写一个正则表达式,其中两个空格后跟一个数字被替换为一个空格后跟一个数字。这是我想出的,但它不起作用:
With ActiveDocument.Content.Find
.Text = "(\s\s\d)"
.Replacement.Text = "(\s\d)"
.Forward = True
.ClearFormatting
.Replacement.ClearFormatting
.MatchWildcards = True
End With
ActiveDocument.Content.Find.Execute Replace:=wdReplaceAll
我没有收到任何错误消息,而是我的文档中没有任何影响。
官方文档位于此处:
#更新
我尝试使用高级查找和替换,我检查了use wild cards 并输入了
Find: [0-9]
Replace: [0-9]
Find: 和 [ 之间有 2 个空格,Replace: 和 [ 之间有 1 个空格,但它用 'hey [0-9]' 替换了字符串:'hey 8'。
【问题讨论】:
-
注意:您链接的文档是.Net文档,与VBA无关。
-
您链接的文档与 VBA 完全无关。 VBA 不是 VB.Net 或 VB 或 VBScript。仅仅因为它们都以 VB 开头并不意味着它们都是相同的,就像 cat 和 car 和 carrot 一样相同,因为它们以 ca 开头。见word.mvps.org/FAQs/General/UsingWildcards.htm