ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3511|回复: 6

[转帖] 在Word中用表达式设置复杂查找替换规则

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-10-26 15:38 | 显示全部楼层 |阅读模式
本帖最后由 tangqingfu 于 2011-10-26 17:07 编辑

[导读]下面我们以制作一份语文教学中的《常见错别字集》为例讲解如何用Word的表达式来设置比较复杂的查找替换规则。

  查找与替换功能是Word软件操作中提高效率的有效手段,替换对象主要包括两大类元素:特殊符号类和格式类。但是遇到比较难于解决的复杂替换问题,比如在设计考试试卷的时候,就要借助于表达式这个工具来提升效率了。
  下面我们以制作一份语文教学中的《常见错别字集》为例讲解如何用Word的表达式来设置比较复杂的查找替换规则。

  原始资料如图1所示。(详见下图)
      替换后效果如图2所示。

  第一步、格式化替换标记
  目的:把成语之间的用于分隔的空格统一替换为段落标记,从而达到替换标记的格式化。
  操作方法:光标定位在文章开头处,按快捷键“CTRL+H”调出“查找与替换”设置框,单击“替换”选项卡,在“查找内容”栏中输入“[  ]@*([一-龥])”(不含引号),在“替换为”栏中输入“^p\1”(不含引号)。点选“搜索”选项后“全部”,勾选“使用通配符”复选框,单击“全部替换”按钮。
  说明:表达式中通配符意义:[  ]表示全角或半角空格,@表示1个以上前一字符或表达式,*表示任意字符串,[一-龥]表示任意单个中文汉字,()表示表达式分组,\1表示第一个表达式。
  查找栏中表达式的意义:查找“以全角或半角空格开始,后面跟随若干空格或任意字符串,直到遇到第一个汉字为止”的内容。
  替换栏中表达式的意义:将查找到除汉字部分以外的内容都替换为段落标记。
第二步、个性化替换效果
  目的:任意交换或删除括号内的错别字与括号前正确的字,从而达到替换效果的个性化。
  替换效果1:括号紧跟错别字,适合于提示性练习
  操作步骤:
  1、 对括号内是一个字的成语进行交换,形如“哀(唉)声叹气”。在“查找内容”栏中输入“(*)([一-龥])([\(\(])([一-龥])([\)\)])(*)^13”(不含引号),在“替换为”栏中输入“\1\4\3\2\5\6^13”(不含引号)。单击“全部替换”按钮。如图4所示。
  表达式中通配符意义:[\(\(]表示全角或半角小括号,^13表示段落标记(仅在勾选“使用通配符”复选框时使用)。\1到\6分别对应查找栏中用小括号括起来的表达式部分。
  查找栏中表达式的意义:查找“包含以全角或半角小括号括起来,并且中间是一个汉字,最后以段落标记结尾的成语”。
  替换栏中表达式的意义:将括号中的单个错别字与括号前的单个汉字进行交换。
  2、对括号内是两个字的成语进行交换。在“查找内容”栏中输入“(*)([一-龥]{2})([\(\(])([一-龥]{2})([\)\)])(*)^13”(不含引号),其他设置与上步相同,单击“全部替换”按钮。
  表达式中通配符意义:[一-龥]{2}表示任意两个中文汉字。
  替换栏中表达式的意义:将括号中的两个错别字与括号前的两个汉字进行交换。
  3、清除括号内是一个字成语中正确的内容。形如“哀( )声叹气”。在“查找内容”栏中输入“([\(\(])([一-龥])([\)\)])”(不含引号),在“替换为”栏中输入“\1 \3”(不含引号,\1与\3之间有两个空格)。单击“全部替换”按钮。
  查找栏中表达式的意义:查找“以全角或半角小括号括起来,并且中间是一个汉字的内容”。
  替换栏中表达式的意义:将括号中的单个错别字用空格替换。
  4、清除括号内是两个字成语中正确的内容。在“查找内容”栏中输入“([\(\(])([一-龥]{2})([\)\)])”(不含引号),其他设置与上步相同,单击“全部替换”按钮。
  查找栏中表达式的意义:查找“以全角或半角小括号括起来,并且中间是两个汉字的内容”。
  替换栏中表达式的意义:将括号中的两个错别字用空格替换。
原始资料.jpg
替换后效果.jpg

TA的精华主题

TA的得分主题

发表于 2011-10-26 15:55 | 显示全部楼层
学习查找替换。最好是连附件一起上传,图片没看见。{:soso_e100:}

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-10-26 17:05 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
已重新上传图片,谢谢提醒。

TA的精华主题

TA的得分主题

发表于 2011-10-26 17:27 | 显示全部楼层
是否可以尝试一步法:

查找内容:?((*))(*)([^32^13])
替 换 为:\1\2(  )\3

高级 →  √ 使用通配符 → 全部替换

TA的精华主题

TA的得分主题

发表于 2011-11-24 13:58 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-1-30 18:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢楼主分享!!!

TA的精华主题

TA的得分主题

发表于 2013-1-7 16:18 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-7 13:36 , Processed in 0.033948 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表