MS Word,使用通配符查找

MS Word, Find with wildcard

首先,我对 VBA 完全没有经验。现在我正在做一个项目,我需要在 200 MS word 文件中找到一些单词。这些词以 space 开头并以 :(冒号)

结尾

例如: ... frauuaṣ̌īmca。 yz:; yeŋ́h/ē.: hātąm; yaθā.:啊。 vairii/ō; ...

我需要提取 yz & yeŋ́h/ē。和 yaθā.

我无法为 select 写任何正确的通配符,只是 : 之前的最后一个字(冒号)

MS Word 查找第一个和第二个之间的所有内容:

我尝试了 [!space]?: 但并不总是 return 的正确答案。 例如在这种情况下,只是 return / 或特殊字符之后的所有内容。 派蒂。 ratīm;; frauuarane:; hāuuanə̄/e:; sāuuaŋhə̄e:; raθβ±m:; y/aθā。啊。

=> ne 代替 frauuarāne,或 /e 代替 hāuuanə̄/e

谢谢

有几种方法可以做到这一点...因为我不知道RegEx,所以我还是选择了VBA;

Sub ExtractWords()
    Dim myArray, x, strOut As String
    myArray = Split(ActiveDocument.Content, " ") 'split doc into array by space
    For Each x In myArray
        If InStr(x, ":") > 0 Then 'if there's a colon...
            strOut = strOut & Split(x, ":")(0) & vbLf '...then get everything up to it
        End If
    Next x

    Documents.Add 'create new word document
    Selection.TypeText strOut 'dump result string to new doc
End Sub

运行 此过程将提取所有以 space 开头并以冒号结尾的文本,并将结果转储到新的 Word 文档中。

我怀疑您有没有想到的字符或间距,因此可能需要对其进行调整。

一如既往,在 运行 之前备份您的文档(由于我没有明确提及该文档,所以最好只有一个打开的文档)。