Word VBA自动排版(2)-通过自动查找替换去除叠字
2019-01-21 21:53
681 查看
叠字主要包括以下几种:
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", "\1") For i = 0 To UBound(Orit) With Selection.Find .Text = Orit(i) .Replacement.Text = Rept(i) .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchWildcards = True '运用通配符 .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll Next i End Sub
注:
{数字}为重复次数,
[!^13]为非段落标记
(<[!13]*13)()\1中:
(<[!13]*13)为查找一段内容;
<[!^13]表示段落的首字
()表示0个或N个内容
, _为换行符,注意有空格
\1表示是第一个表达式的内容
\2表示是第二个表达式的内容
([!^13])用于去除aa叠字
([!13])([!13])\1\2用于去除asas叠字,
([!13])([!13])([!^13])\1\3用于去除asdasd叠字
([!^13])个数即被重叠的字符单元数量,与第二个\数字相对应,重复单元为三个字符,则为\3;重复单元为2个字符,则为\2,以此类推
相关文章推荐
- Word VBA自动排版(3)- 去除空白段落
- Word VBA自动排版(4)- 通过For循环批量替换
- 通过excel自带的VLOOKUP函数实现字符串自动查找替换
- Word VBA自动排版(6)- 专利撰写生成权利要求模板
- 通过自定义TextView,拉伸每行解决自动换行文字排版参差不齐问题
- 批量查找/替换,包括子目录,自动备份.简单脚本.
- Word VBA自动排版(7)- 根据字符长度将特定字符拆分成若干数组元素,并输出
- Ueditor富文本编辑器替换去除自动追加p标签
- VBA word自动排版(10)-结合SQL数据库批量替换WORD文本
- Python通过正则表达式获取,去除(过滤)或者替换HTML标签的几种方法(本文由169it.com搜集整理)
- form表单通过find查找元素,回车自动提交
- 转: 在 Vim 中优雅地查找和替换 (写的很好,排版也是相当的赞)
- Word VBA自动排版(5)- 专利具体实施方式批量增加附图标记
- Mac上通过Linux命令行批量查找和替换文本
- word2013 交叉引用添加参考文献的尾注编号,通过查找 ^# 替换为 [^&] 的方式添加中括号,在进行“更新域”操作后,中括号消失。
- 远程拷贝、查看端口、vim常见快捷键、查找替换命令、grep命令、查看存储空间的命令、chkconfig命令、系统自动启动级别、主机名配置、IP地址配置、域名映射、防火墙设置
- 黑马成员---StringBuffer,StringBuilder,Integer,自动装箱和拆箱,正则表达式:匹配,切割,替换,查找
- 给定一个字典,通过查找这个字典,替换给定的字符串中的中文为英文
- 远程拷贝、查看端口、vim常见快捷键、查找替换命令、grep命令、查看存储空间的命令、chkconfig命令、系统自动启动级别、主机名配置、IP地址配置、域名映射、防火墙设置
- 嵌入式 VIM自动排版和替换以及选中一列