ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] VBA 正则表达式 提取汉字,全角符号,但不包含:元、万个

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-11-1 21:26 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 Cavan2022 于 2024-11-1 21:27 编辑

VBA 正则表达式 提取汉字,全角符号,但不包含: 元、万个

想从一个字符串中提取汉字,全角符号,但是不包含: 元、万个  这两个词,
如果先提取汉字后再替换掉元、万个也可以实现, 但就是想知道能不能通过写Pattern直接一步实现, 不知道Pattern表达式怎么写?
还有就是全角汉字符号的Pattern怎么写?
希望知道的朋友能告知,谢谢!

TA的精华主题

TA的得分主题

发表于 2024-11-1 22:11 | 显示全部楼层
看看行不行
(?![元万个])[^\x00-\xff]

TA的精华主题

TA的得分主题

发表于 2024-11-1 22:20 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-11-1 23:18 | 显示全部楼层
quqiyuan 发表于 2024-11-1 22:11
看看行不行
(?![元万个])[^\x00-\xff]

试了,结果不对

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-11-1 23:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
limonet 发表于 2024-11-1 22:20
=WRAPROWS(REGEXEXTRACT(A1,"[^A-Za-z0-9_元万个]",1),4,"")

这个思路是可以解决问题,就是如果字符种类过多,排除项较多,Pattern表达式会比较长,
我是想:Pattern表达式,能不能实现这种表示方法 -- 表示的包含哪些字符(包含:汉字),另外排除其中个例(不包含:元、万个)

TA的精华主题

TA的得分主题

发表于 2024-11-2 20:00 | 显示全部楼层
Cavan2022 发表于 2024-11-1 23:22
这个思路是可以解决问题,就是如果字符种类过多,排除项较多,Pattern表达式会比较长,
我是想:Pattern表达 ...

如果按你这个思路,提取汉字,排除元、万个就可以了

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-11-13 10:34 | 显示全部楼层
ykcbf1100 发表于 2024-11-2 20:00
如果按你这个思路,提取汉字,排除元、万个就可以了

能不能把提取汉字,排除元、万个,写成一个正则Pattern表达式,之前写不出来,只能先用正则提取汉字,在用代码排除元、万个的方法?

TA的精华主题

TA的得分主题

发表于 2024-11-13 10:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Cavan2022 发表于 2024-11-13 10:34
能不能把提取汉字,排除元、万个,写成一个正则Pattern表达式,之前写不出来,只能先用正则提取汉字,在用代码 ...

你不仅没有附件,连字串都没有,只能大概和你说说。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-11-13 16:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ykcbf1100 发表于 2024-11-13 10:37
你不仅没有附件,连字串都没有,只能大概和你说说。


自己写了一个自定义函数,想提取字符串中的汉字,但是不想提取分、万个 这两个词,想这能不能用正则Pattern表达式实现(包含哪些,其中排除掉某些项)
文件在附件的压缩包里.
Snipaste_提取.xlsm - Excel_20241113_164157.jpg


提取.zip

13.72 KB, 下载次数: 4

TA的精华主题

TA的得分主题

发表于 2024-11-13 17:00 | 显示全部楼层
用365的表单正则函数可以,VBA正则不能直接获取,但是就如你所说,二次加工就行
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-21 21:06 , Processed in 0.035681 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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