ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

怎么用正则查找替换域内的带格式的字符

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-1-31 17:26 | 显示全部楼层 |阅读模式
本帖最后由 pbdq 于 2015-1-31 17:28 编辑

我有一段域代码如下


{EQ\* jc0 \* "Font:华文细黑"\* hps14 \o(\s\up 19(dà),大)}{eq\* jc0 \* "Font:华文细黑" \* hps14 \o(\s\up 19(chénɡ),乘)}{eq \* jc0 \* "Font:华文细黑" \* hps14 \o(\s\up 19(dà),大)}{eq \* jc0 \* "Font:华文细黑" \*hps14 \o(\s\up 19(jí),集)}{eq \*jc0 \* "Font:华文细黑" \* hps14 \o(\s\up 19(dì),地)}{eq \* jc0 \* "Font:华文细黑" \* hps14 \o(\s\up 19(zànɡ),藏)}{eq \* jc0 \* "Font:华文细黑" \*hps14 \o(\s\up 19(shí),十)}{eq\* jc0 \* "Font:华文细黑" \* hps14 \o(\s\up 19(lún),轮)}{eq \* jc0 \* "Font:华文细黑" \* hps14 \o(\s\up 19(jīnɡ),经)}


我想把带红色的拼音后面的字提取出来,例如,

{eq \* jc0 \* "Font:华文细黑" \* hps14 \o(\s\up 19(chénɡ),)}


我想提取(chénɡ)后面的“乘”字,应该怎么做。


附件是一个测试文件

测试标红拼音的多音字提取.rar (9.58 KB, 下载次数: 14)





TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-31 20:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
顶上去啊,坐等大仙出现

TA的精华主题

TA的得分主题

发表于 2015-1-31 21:33 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
先查找到再去判断格式

TA的精华主题

TA的得分主题

发表于 2015-2-2 17:39 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-2-2 18:07 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-2-3 13:41 | 显示全部楼层
我这个办法比较土。
得分三步(两步替换,一步查找加复制粘贴)。

首先,楼主已知道,要按Alt+F9切换成域代码。

然后,
第一步:用替换
勾选“使用通配符”,
查找内容
  1. [a-zɡ]@
复制代码
字体颜色:红色
替换为空白。
如下图:
01.png

第二步:用查找。
勾选“使用通配符”,
查找内容
  1. \(\)\,(?)
复制代码
不限定格式。
在以下项目中查找:主文档
搜索:全部。
关闭查找对话框后,点“复制”。

在新页面或者新文档中“粘贴”。

如下图:
02.png

第三步:再用替换。
勾选“使用通配符”,
查找内容
  1. \(\)\,(?)^13
复制代码
不限定格式。
替换为
  1. \1
复制代码
如下图:
03.png

楼主自己将:
切换域代码、三步查找替换录制成一个宏,
再优化一下代码。

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-4-16 21:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
shenghua8 发表于 2015-2-3 13:41
我这个办法比较土。
得分三步(两步替换,一步查找加复制粘贴)。

大帅你好!用录制的时候,是可以的,但是我用录制好的宏,第二部是不行的。

具体的宏代码如下(似乎没有执行查找工作)

    Selection.WholeStory
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "\(\)\,(?)"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Copy
    Selection.WholeStory
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.PasteAndFormat (wdPasteDefault)

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-4-16 21:37 | 显示全部楼层
shenghua8 发表于 2015-2-3 13:41
我这个办法比较土。
得分三步(两步替换,一步查找加复制粘贴)。

手动是可以。用录制好的宏,第二部似乎是不行的,不知道代码应该怎么修改啊
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-16 09:02 , Processed in 0.024349 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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