假设一个word文件包含
ab{cdefg{hij{k
我想{被移动到右边的一个地方,如
abc{defgh{ijk{
我需要创建一个包含所有字符的数组,然后运行带有Regex搜索的循环并替换
搜索:
({)(array[index])
取代:
$2$1
没有循环的普通正则表达式不起作用,因为我正在处理具有复杂字符的印度文本。我在inDesign中使用JavaScript和ExtendScript完成了这个,但我对VB没有任何线索。有人可以帮忙吗?
答案 0 :(得分:1)
这可以使用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