叠字主要包括以下几种:
1型aabbcc
2型ababab
3型abcabcabc
4型abcdabcdabcdabcd(这个算思考题,自己根据原理增加吧)
代码原理为通过自建数组和通配符替换逐一替换,无需引入其他数据库,运行速度还可以。
代码如下:
Sub 替换文本()
'替换前文本
Orit = Array("(<[!^13]*^13)(*)\1", "(<[!^13]*^13)(*)\1", "(<[!^13]*^13)(*)\1", _
"([!1-^127]){3}", "([!1-^127]){2}", _
"([!^13]){4}", "([!^13]){3}", "([!^13]){2}", _
"([!^13])([!^13])\1\2{4}", "([!^13])([!^13])\1\2{3}", "([!^13])([!^13])\1\2{2}", _
"([!^13])([!^13])([!^13])\1\3{4}", "([!^13])([!^13])([!^13])\1\3{3}", "([!^13])([!^13])([!^13])\1\3{2}")
'替换后文本
Rept = Array("\1\2", "\1\2", "\1\2", _
"\1", "\1", _
"\1", "\1", "\1", _
"\1", "\1", "\1", _
"\1", "\1&