[英]MS Word VBA macro to search and replace (Regex)
假设一个单词文件包含
ab{cdefg{hij{k
我希望{像
abc{defgh{ijk{
我需要创建一个包含所有字符的数组,然后使用Regex搜索运行循环并替换
搜索:
({)(array[index])
更换:
$2$1
没有循环的普通正则表达式将无法正常工作,因为我正在处理具有复杂字符的印度文字。 我已经在inDesign中的JavaScript和ExtendScript上完成了此操作,但对VB却一无所知。 谁能帮忙吗?
这可以使用Word通配符搜索和替换来完成:
With ActiveDocument.Range.Find
.ClearFormatting
.Replacement.ClearFormatting
.ClearAllFuzzyOptions
.Text = "(\{)(?)" ' find opening brace followed by a single character
.Replacement.Text = "\2\1" ' swap positions
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchFuzzy = False
.MatchWildcards = True
End With
ActiveDocument.Range.Find.Execute Replace:=wdReplaceAll
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.