假设一个字的文件包含微软Word VBA宏搜索和替换(正则表达式)
ab{cdefg{hij{k
而且我想{要移动一个位置向右像
abc{defgh{ijk{
我需要做与所有字符的数组然后运行与正则表达式搜索一个循环,并更换
搜索:
({)(array[index])
取代:
$2$1
平原正则表达式,而不循环将无法工作,因为我处理具有复杂的人物印度语文字。我在inDesign中使用了JavaScript和ExtendScript,但我对VB没有任何线索。任何人都可以帮忙吗?
你能描述印度语的文字是如何影响的事情?例如,一些印度语字符在Word中表达为2个字符,并且交换只会移动“{”一个字符而不是2。 – 2015-12-03 09:13:57
是的。在一个字母和现实生活中出现的某些指示合并被视为一个字母,实际上是Unicode中2-5个字母的聚类。 – coldbreeze16
我的(更明显)建议。如果Word的查找/替换无法处理您正在处理的文本,请忘记正则表达式,并着眼于Word对象模型(和VBA)这一事实,将您的文档视为一系列字符对象,可以是索引1 ..等等。然后你需要迭代查找“{”的字符序列(可能忽略某些特殊印度字符序列的一部分的{{“字符,尽管我怀疑会发生),然后检查以下字符并确定有多少个Unicode需要移动“{”的字符。 – 2015-12-03 21:50:15